<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Microsoft.VisualStudio.GraphModel</name>
    </assembly>
    <members>
        <member name="T:Microsoft.VisualStudio.GraphModel.ActiveTransactionsChangedEventArgs">
            <summary>
            Event arguments for active transaction changes. 
            Transactions with <see cref="F:Microsoft.VisualStudio.GraphModel.UndoOption.Disable" /> are ignored.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.ActiveTransactionsChangedEventArgs.CurrentNumberOfTransactions">
            <summary>
            The current number of transactions
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.ActiveTransactionsChangedEventArgs.ManagedThreadId">
            <summary>
            The thread id with which the transactions are associated
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponent">
            <summary>
            This class represents all the nodes in a strongly connected component.
            </summary>    
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponent.Nodes">
            <summary>
            The collection of nodes in this strongly connected component
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection">
            <summary>
            This collection finds all strongly connected components in a given filtered collection of GraphNodes 
            where the filter is defined by the initial set of GraphNodes and a Predicate on the outgoing links
            to consider.  Tarjan's algorithm is used for finding strongly connected components (SCC).   A group of
            nodes has the property of being strongly connected if each node of the SCC can be reached from every 
            other node in the SCC.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection.NodeData">
            <summary>
            Contains data related to Tarjan's algorithm
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection.NodeData.Index">
            <summary>
            The index of this node
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection.NodeData.Low">
            <summary>
            The lowest index in the SCC so far
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection.NodeData.Node">
            <summary>
            Contains the actual Node behind this node data. May be null.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection.NodeData.Visit">
            <summary>
            Which visit number did we visit this node already.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection._currentIndex">
            <summary>
            The current node index
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection._nodeDataMap">
            <summary>
            Maps node names to data
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection._sccs">
            <summary>
            The strongly connected components.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection._visited">
            <summary>
            All nodes visited in a given Depth First Traversal.
            Have to remember the order of this list since we prune stuff out of it when
            we find a StronglyConnectedComponent.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection._visitMap">
            <summary>
            Fast lookup to see if something is in the visited list.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection._outgoingLinkFilter">
            <summary>
            This predicate defines what subset of outgoing links to consider in the graph 
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection.#ctor(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphNode},System.Predicate{Microsoft.VisualStudio.GraphModel.GraphLink})">
            <summary>
            Construct new collection
            </summary>
            <param name="nodesToConsider">The list of nodes to search for strongly connected components</param>
            <param name="outgoingLinkFilter">This predicate defines what subset of outgoing links to consider in the graph</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection.DepthFirstTraversal(Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection.NodeData,System.Int32)">
            <summary>
            During this state, Tarjans algorthim is peformed and the graph is traversed depth first.
            </summary>
            <param name="data">The node to start with</param>
            <param name="visit">The integer pass number for this visit</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection.DfsAllNodesCheck">
            <summary>
            This method searches for any nodes with the given category that have not been visited during DF traversal. If any node 
            is found that has not been visited a depth first traversal is started on it.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection.InitializeNodeData(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphNode})">
            <summary>
            Add all input nodes that contain a link of the given category type.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Algorithms.StronglyConnectedComponentCollection.AddToNodeDataMap(Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Make sure we have a NodeData object for the given node.
            </summary>
            <param name="node"></param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Styles.GraphErrorEventArgs">
            <summary>
            A custom event args object that contains information about errors related to given graph object.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet">
            <summary>
            CompiledStyleSet compiles the GraphModel.Styles and allows us to execute them against the Graph instance.
            The GraphObjects in the given Graph will look here first calling "GetProperty" to see if a conditional style
            is in effect before falling back on the objects own property values and/or inherited values.
            It also builds an index of target Type and Property to ConditionalStyles that apply to that property
            for quick execution of conditional styles against given property.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet._graph">
            <summary>
            The graph that owns the style set that we are compiling.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet._propertiesReferencedBySetters">
            <summary>
            This dictionary gives us a fast lookup from a given referenced property to the setters that use that
            property in an "Expression"
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet._propertiesReferencedByConditions">
            <summary>
            This dictionary gives us a fast lookup from a given referenced property to the Conditions that use that
            property in an "Expression"
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet._categoriesReferencedByConditions">
            <summary>
            This dictionary gives us a fast lookup from a given referenced category to the Conditions that use that
            category in an "Expression", like "HasCategory('Foo')".
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet._listening">
            <summary>
            Whether we are listing to graph Updated events.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet._compiledStyles">
            <summary>
            We need to have our own snapshot of the state of the styles we actually compiled so that we can process the 
            change tracking properly when the styles themselves are edited in the Graph.  
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.#ctor(Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.OnGraphUpdated(System.Object,Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs)">
            <summary>
            Monitor changes to the styles so we know when a recompile is necessary.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.IsCompiled">
            <summary>
            Get whether this set is compiled or not.  This can become false if any style, condition or setter is changed
            since it was last compiled.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.RegisterTargetType(System.Type)">
            <summary>
            Register all the types that you would like to be able to style with conditional expressions.
            </summary>
            <param name="t"></param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.GetRegisteredTargetType(System.String)">
            <summary>
            Find the registered target type
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.Clear">
            <summary>
            Clear existing styles, but not the registered target types.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.ReportError(Microsoft.VisualStudio.GraphModel.GraphObject,System.String)">
            <summary>
            Raise error using the delegate that was given to the Compile method.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.Compile(System.EventHandler{Microsoft.VisualStudio.GraphModel.Styles.GraphErrorEventArgs})">
            <summary>
            Compile the conditional expressions in the given Graph.
            </summary>
            <param name="compileErrorCallback">Delegate for receiving compile error information</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.CompileCondition(Microsoft.VisualStudio.GraphModel.Styles.CompiledStyle,Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle,Microsoft.VisualStudio.GraphModel.Styles.GraphCondition)">
            <summary>
            Compile the Condition
            </summary>
            <param name="parent"></param>
            <param name="style"></param>
            <param name="condition"></param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.CompileSetter(Microsoft.VisualStudio.GraphModel.Styles.CompiledStyle,Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle,Microsoft.VisualStudio.GraphModel.Styles.GraphSetter)">
            <summary>
            Compile the setter
            </summary>
            <param name="parent"></param>
            <param name="style"></param>
            <param name="setter"></param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.GetPropertyType(Microsoft.VisualStudio.GraphModel.Graph,System.Type,System.String)">
            <summary>
            Get the return type of the named property on the given targetType.
            </summary>
            <param name="owner">The graph that ownes the property metadata</param>
            <param name="targetType">The type that might have a matcing C# property</param>
            <param name="propertyName">The name of the property we are looking for</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.Convert(System.Type,System.String)">
            <summary>
            Convert the given fixed value to the given type
            </summary>
            <param name="type">The type to convert to</param>
            <param name="value">The string value to convert</param>
            <returns>The typed value or null if it cannot be converted</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.ConvertToString(System.Object)">
            <summary>
            Convert the given object to a string
            </summary>
            <param name="value">The value to convert</param>
            <returns>The sting value or null if it cannot be converted</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.Reindex">
            <summary>
            Reindex the styles
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.HasProperty(System.Object,System.String)">
            <summary>
            Return true if there is at least one active style that sets the given UI property on the 
            given the context object where "active" means a conditional expression is true for this object.
            </summary>
            <param name="context">The object that triggers the conditional expression</param>
            <param name="propertyName">The UI property we are looking for</param>
            <returns>True if a property exists</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.HasProperty(System.Collections.Generic.IDictionary{System.String,System.Collections.Generic.IList{Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle}},System.Object,System.String)">
            <summary>
            Internal helper method
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.GetProperty``1(System.Object,System.String)">
            <summary>
            Get the property value for the first active style that sets the given property on the 
            given the object where "active" means a conditional expression is true for this object.
            </summary>
            <typeparam name="U">The type of the context object</typeparam>
            <param name="context">The object that triggers the conditional expression</param>
            <param name="propertyName">The UI property we are looking for</param>
            <returns>The typed property value</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.GetProperty``1(System.Collections.Generic.IDictionary{System.String,System.Collections.Generic.IList{Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle}},System.Object,System.String,System.Boolean@)">
            <summary>
            Internal helper method.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.OnUpdate(Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs)">
            <summary>
            Propagate any property changes to conditional property setters.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet._notifyList">
            <summary>
            This dictionary is used when the styles themselves are changed, and it remembers which styles and properties were affected.
            When RaisePendingPropertyChangeEvents is called it will raise property change events for each graph object that matches
            the GraphCondition and for each property mentioned in the GraphSetters
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.RaisePendingPropertyChangeEvents(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphObject})">
            <summary>
            Raise any pending property change events based on changes that have been tracked so far. This also clears the list of pending changes.
            </summary>
            <param name="graphObjects"></param>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet._objectNotifyList">
            <summary>
            This dictionary tracks all graph objects that we need to raise specific events on because the setter references some property
            that was changed on this node.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.HandleChangedProperties(Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs,Microsoft.VisualStudio.GraphModel.GraphObject)">
            <summary>
            Remember which properties were changed that are referenced in any conditional expressions or in setter expressions
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyleSet.HandleChangedCategories(Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs,Microsoft.VisualStudio.GraphModel.GraphObject)">
            <summary>
            Remember which categories were changed that are referenced in any conditional expressions or in setter expressions
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Styles.CompiledStyle">
            <summary>
            This class represents a snapshot of the GraphConditionalStyle that we actually compiled.
            We need a snapshot so we can do RaisePendingPropertyChangeEvents correctly.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Styles.CompiledCondition">
            <summary>
            This class represents a snapshot of the GraphCondition that we actually compiled.
            We need a snapshot so we can do RaisePendingPropertyChangeEvents correctly.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Styles.CompiledSetter">
            <summary>
            This class represents a snapshot of the GraphSetter that we actually compiled.
            We need a snapshot so we can do RaisePendingPropertyChangeEvents correctly.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser">
            <summary>
            This class compiles a boolean expression for evaluating an expression against a given
            object type.  It builds lightweight functions that implement the Evaluator delegate.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser._graph">
            <summary>
            The graph on which we are compiling conditional expressions.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser._schema">
            <summary>
            The schema that contains the metadata for the properties we might find in our conditional expressions.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser._trustedTypes">
            <summary>
            List of trusted types that the expression is allowed to call.  See RegisterTrustedType.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser._tokens">
            <summary>
            The results of the Tokenizer
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser._context">
            <summary>
            The input argument to the evaluator
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser._lookAhead">
            <summary>
            One token lookahead is needed to disambiguate the parser.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser._parentheses">
            <summary>
            Count of open parens '('.  
            When greater than zero this means expressions can be closed by right paren. 
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser._methods">
            <summary>
            Cound of methods being parsed.  
            When greater than zero this means expressions can be closed by right paren. 
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.Pair">
            <summary>
            Used in the parser shift/reduce stack
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.RegisterTrustedType(System.Type)">
            <summary>
            Register the list of types you want the user to be able to access from script.
            For example, "System.Math" is registered by default.
            </summary>
            <param name="type"></param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.Parse(Microsoft.VisualStudio.GraphModel.Graph,System.String,System.Type,System.Type,System.Linq.Expressions.Expression@)">
            <summary>
            Compile an expression that takes argument of type 'contextType' and returns result of type 'resultType'
            </summary>
            <param name="graph">Graph</param>
            <param name="expression">The expression to compile</param>
            <param name="contextType">The type of object that will be passed as a parameter to the Evaluator</param>
            <param name="resultType">The type of result the evaluator will return</param>
            <param name="body"></param>
            <returns>A compiled lambda expression that can be called</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.GetNextToken">
            <summary>
            Helper method to pull next token from tokenizer iterator, or get it from the 
            stored _lookAhead if one is there.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.PeekNextToken">
            <summary>
            Peek the next token from the tokenizer.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.Push(Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.TokenInfo)">
            <summary>
            Push a lookahead token back onto the stream so GetNextToken will return it.
            </summary>
            <param name="info"></param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.GetConstant(System.Object)">
            <summary>
            return legal constant for expression value (helper method used by Progression)
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.ParseExpression">
            <summary>
            This is the top level expression parser.  This method is called by the top level Parse
            and for each argument in a method call, and for each expression in parentheses.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.ParseUnaryExpression(Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.TokenInfo,Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.UnaryOperator)">
            <summary>
            Parse an expression and apply unary operator.
            </summary>
            <param name="token"></param>
            <param name="op"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.CreateBinaryExpression(Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.TokenInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression)">
            <summary>
            Construct a binary expression between left and right based on given token.
            </summary>
            <returns>BinaryExpression</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.CreateNumericBinaryOperator(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.String,Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.BinaryOperator)">
            <summary>
            Find best matching operator overload, or coerce the expressions to matching numeric types of the 
            highest precession.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.FindOperator(System.String,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression)">
            <summary>
            Find the named operator (e.g. op_GreaterThan) on the types of the given expressions that take arguments 
            that are compatible with the given expressions and call it.  Searches the types and the base types.
            </summary>
            <returns>The expresison or null if no compatible operator is found</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.ConvertToBoolean(System.Linq.Expressions.Expression)">
            <summary>
            Convert given expressino to a boolean
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.ConvertToDouble(System.Linq.Expressions.Expression)">
            <summary>
            Convert given expressino to a double
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.ConvertToType(System.Linq.Expressions.Expression,System.Type,System.Boolean)">
            <summary>
            Convert given expression to the given type if it is not already of that type.
            Return null if the coversion doesn't exist.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.Coerce(System.Linq.Expressions.Expression,System.Type)">
            <summary>
            Return an expression that casts the type of the source to the target type if it is assignable, or returns null.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.GetPrecision(System.Type)">
            <summary>
            Return numeric precision or null if type is not numeric.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.CoerceImplicitly(System.Linq.Expressions.Expression,System.Type)">
            <summary>
            Return an expression that converts the type of the source to the target type.
            Returns same expression if the types are assignable otherwise it looks for implicit
            casting operator that does the conversion.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.CoerceExplicitly(System.Linq.Expressions.Expression,System.Type)">
            <summary>
            Return an expression that converts the type of the source to the target type using an explicit casting operator.
            You should only call this if CoerceImplicitly fails.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.FindCastOperator(System.String,System.Linq.Expressions.Expression,System.Type)">
            <summary>
            Find the named casting operator (e.g. op_Implicit) that converts source Type to target type
            and call it, or return null if none is found on the souce type or any of it's base types
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.ParseMemberBinding(System.Linq.Expressions.Expression,Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.TokenInfo)">
            <summary>
            Parse a property or method call.
            </summary>
            <param name="context"></param>
            <param name="identifier">First identifier found so far</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.ParseMethodCall(System.Linq.Expressions.Expression,System.Type,System.String)">
            <summary>
            Parse a method call.
            </summary>
            <param name="context"></param>
            <param name="targetType"></param>
            <param name="methodName"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.ParseArguments">
            <summary>
            Parse the arguments to a method call.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.GetConversionScore(System.Linq.Expressions.Expression,System.Type,System.Linq.Expressions.Expression@)">
            <summary>
            Get a measure of how easy it is to convert the source expression into the target type.
            Used in FindMatchingMethod.
            </summary>
            <param name="source">The source expressoin</param>
            <param name="target">The required target type to coerce to</param>
            <param name="coersion">The coersion expression or null if it cannot be coerced</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.FindMatchingMethod(System.Linq.Expressions.Expression,System.Type,System.String,System.Collections.Generic.List{System.Linq.Expressions.Expression})">
            <summary>
            Find the best overloaded method that best matches the given arguments
            (requires the minimum amount of coercion).
            </summary>
            <param name="context">The current context object we are operating on</param>
            <param name="targetType">The target type (which might not be context.Type)</param>
            <param name="methodName">The method we are trying to call</param>
            <param name="arguments">The arguments we are trying to coerce to match the call, this list will be modified if with coerced arguments if a match is found</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.Expecting(Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.TokenInfo,Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.Token[])">
            <summary>
            Report an error when the found token was not in the expected set.
            </summary>
            <param name="found"></param>
            <param name="tokens"></param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.Token">
            <summary>
            Tokens returned by tokenizer.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.TokenInfo">
            <summary>
            Information about the token.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.TokenInfo.GetPrecedence">
            <summary>
            Operator precedence.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.ExpressionTokenizer">
            <summary>
            The expression language tokenizer.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.ExpressionParser.ExpressionTokenizer.Tokenize(System.String)">
            <summary>
            Converts the string into a list of tokens for parsing expressions
            </summary>
            <returns>List of Tokens from the string to be parsed</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle">
            <summary>
            The Style class represents a DGML Style element used in conditional formatting.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle._conditions">
            <summary>
            The Conditions related
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle._setters">
            <summary>
            The Setters related
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle._index">
            <summary>
            The position in the list (important)
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle.IsFiltered">
            <summary>
            Property used to set if the style can be added to ui (Legend). This property is used when enabling/hiding categories through filter window.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle.#ctor(Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Constructor for the GraphConditionalStyle class
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle.IsEnabled">
            <summary>
            Whether this style is currently enabled or not.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle.TargetType">
            <summary>
            The target type this style is being applied to. This has to be a type registered in the StyleSet.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle.GroupLabel">
            <summary>
            The optional style group label
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle.ValueLabel">
            <summary>
            The optional label for the style value
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle.ToolTip">
            <summary>
            The tooltip is used in the UI to show more information about what this style represents
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle.Conditions">
            <summary>
            Get the set of conditions.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle.Index">
            <summary>
            Get the position of the style in the list, this is changed when you remove/add the style.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle.Setters">
            <summary>
            Get all the setters  
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle.Matches(System.Object)">
            <summary>
            Determines if the style should be applied based on given context object.  
            If the style has no conditions, or all the conditions are met then
            the style should be applied
            </summary>
            <param name="context">The object against which to evaluate the conditions</param>
            <returns>True if this style should be applied to the given context object, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle.MergeSetters(Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle)">
            <summary>
            Copy any new setters from the given object, keeping existing
            setters
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Styles.GraphCondition">
            <summary>
            The Condition class represents a conditional expression for the set of Styles in the DGML.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.GraphCondition._style">
            <summary>
            Private storage for the style associated with this Condition
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphCondition.#ctor(Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle)">
            <summary>
            Constructs a Condition object for the given style
            </summary>
            <param name="owner">The style with which to associate the Condition</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphCondition.Style">
            <summary>
            Get the style this condition belongs to
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphCondition.Compiled">
            <summary>
            The compiled expression.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphCondition.Expression">
            <summary>
            The expression to be compiled.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphCondition.ExpressionTree">
            <summary>
            Parsed expression tree.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphCondition.Evaluate(System.Object)">
            <summary>
            Evaluate the condition in the given context.
            </summary>
            <param name="context">The context object with which to evaluate the condition</param>
            <returns>Return the result of the conditional expression</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Styles.GraphSetter">
            <summary>
            A setter defines a UI property that can be set, and the value is either
            a primitive UI color, brush, stroke, thickness, or it is a ColorSet
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.GraphSetter._typedValue">
            <summary>
            The typed value associated with this Setter
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.GraphSetter._style">
            <summary>
            The ConditionalStyle associated with this Setter
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.GraphSetter._propertyName">
            <summary>
            The name of the property to set
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphSetter.#ctor(Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle,System.String)">
            <summary>
            Setter constructor
            </summary>
            <param name="owner">The ConditionalStyle that 'owns' this Setter</param>
            <param name="propertyName">The property name set by this Setter</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphSetter.Style">
            <summary>
            Get the style this setter belongs to
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphSetter.Property">
            <summary>
            The UI property being set.  Supported properties are "Background", "Stroke", "StrokeThickness",
            "StrokeDashArray", "Foreground", "Shape", "Icon", "HorizontalAlignment", "VerticalAlignment",
            "Margin", "Padding", "FontFamily", "FontStyle", "FontWeight", ...
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphSetter.Expression">
            <summary>
            The original expression compiled to generate the value.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphSetter.Value">
            <summary>
            A fixed value (already converted to the property type being set).
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphSetter.TypedValue">
            <summary>
            A cached copy of the typed value converted from the string Value
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphSetter.Compiled">
            <summary>
            The compiled expression.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphSetter.ExpressionTree">
            <summary>
            Parsed expression tree.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphSetter.Evaluate(System.Object)">
            <summary>
            Compile the expression and return its evaluator
            </summary>
            <param name="context">The context object against which to evaluate the result</param>
            <returns>The evaluator for this condition, null if the condition can't be compiled</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionCollection">
            <summary>
            This class provides methods for manipulating a collection of Condition objects.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionCollection._conditions">
            <summary>
            The transacted list of Conditions
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionCollection._graph">
            <summary>
            The Graph owner of this conditions collection
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionCollection.#ctor(Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Construct new styles object for the given graph.
            </summary>
            <param name="owner">The owning graph</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionCollection.Owner">
            <summary>
            Get the Graph that this collection belongs to
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionCollection.Graph">
            <summary>
            Get the Graph that this collection belongs to
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionCollection.Count">
            <summary>
            Return the number of styles in the collection.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionCollection.Add(Microsoft.VisualStudio.GraphModel.Styles.GraphCondition)">
            <summary>
            Adds the specified condition.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the System.Collections.Generic.ICollection is read-only.
            </summary>
            <value>
            True if the System.Collections.Generic.ICollection is read-only; otherwise, false.
            </value>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionCollection.CopyTo(Microsoft.VisualStudio.GraphModel.Styles.GraphCondition[],System.Int32)">
            <summary>
            Copies the elements of the System.Collections.Generic.ICollection to an
            System.Array, starting at a particular System.Array index.
            </summary>
            <param name="array">
            The one-dimensional System.Array that is the destination of the elements
            copied from System.Collections.Generic.ICollection. The System.Array must
            have zero-based indexing.
            </param>
            <param name="arrayIndex">
            The zero-based index in array at which copying begins.
            </param>
            <exception cref="T:System.ArgumentNullException">array is null</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">arrayIndex is less than 0.</exception>
            <exception cref="T:System.ArgumentException">
            array is multidimensional.-or-The number of elements in the source System.Collections.Generic.ICollection
            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:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionCollection.Remove(Microsoft.VisualStudio.GraphModel.Styles.GraphCondition)">
            <summary>
            Removes the first occurrence of a specific object from the System.Collections.Generic.ICollection.
            </summary>
            <param name="item">
            The item to remove from the System.Collections.Generic.ICollection.
            </param>
            <returns>
            True if item was successfully removed from the System.Collections.Generic.ICollection;
            otherwise, false. This method also returns false if item is not found in
            the original System.Collections.Generic.ICollection.
            </returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionCollection.Contains(Microsoft.VisualStudio.GraphModel.Styles.GraphCondition)">
            <summary>
            Determines if the given condition is in the list of conditions for this style.
            </summary>
            <param name="item">The condition to search for</param>
            <returns>True if the given Condition is already in the list of conditions for this sytle, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionCollection.Insert(System.Int32,Microsoft.VisualStudio.GraphModel.Styles.GraphCondition)">
            <summary>
            Insert the given Condition at the given location in the list.
            </summary>
            <param name="index">The index to insert at</param>
            <param name="condition">The condition to insert</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionCollection.Clear">
            <summary>
            Clear the list of conditions.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionCollection.GetEnumerator">
            <summary>
            IEnumerable&lt;Condition&gt; implementation
            </summary>
            <returns>The typed enumerator for this collection</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            IEnumberable implementation
            </summary>
            <returns>The enumerator for this collection</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Styles.GraphSetterCollection">
            <summary>
            This class provides methods for manipulating a collection of Setter objects.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.GraphSetterCollection._setters">
            <summary>
            The transacted dictionary for this Setters collection.
            The key for this dictionary is the name of the property that is being set
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.GraphSetterCollection._graph">
            <summary>
            The Graph which owns this Setters collection
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphSetterCollection.#ctor(Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Construct new styles object for the given graph.
            </summary>
            <param name="owner">The Graph that owns this collection of Setters</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphSetterCollection.Graph">
            <summary>
            Get the Graph that this collection belongs to
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphSetterCollection.Owner">
            <summary>
            Get the Graph that this collection belongs to
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphSetterCollection.Count">
            <summary>
            Return the number of setters in the collection.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphSetterCollection.Add(Microsoft.VisualStudio.GraphModel.Styles.GraphSetter)">
            <summary>
            Adds the specified setter.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphSetterCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the System.Collections.Generic.ICollection is read-only.
            </summary>
            <value>
            True if the System.Collections.Generic.ICollection is read-only; otherwise, false.
            </value>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphSetterCollection.CopyTo(Microsoft.VisualStudio.GraphModel.Styles.GraphSetter[],System.Int32)">
            <summary>
            Copies the elements of the System.Collections.Generic.ICollection to an
            System.Array, starting at a particular System.Array index.
            </summary>
            <param name="array">
            The one-dimensional System.Array that is the destination of the elements
            copied from System.Collections.Generic.ICollection. The System.Array must
            have zero-based indexing.
            </param>
            <param name="arrayIndex">
            The zero-based index in array at which copying begins.
            </param>
            <exception cref="T:System.ArgumentNullException">array is null</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">arrayIndex is less than 0.</exception>
            <exception cref="T:System.ArgumentException">
            array is multidimensional.-or-The number of elements in the source System.Collections.Generic.ICollection
            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:Microsoft.VisualStudio.GraphModel.Styles.GraphSetterCollection.Remove(Microsoft.VisualStudio.GraphModel.Styles.GraphSetter)">
            <summary>
            Removes the first occurrence of a specific object from the System.Collections.Generic.ICollection.
            </summary>
            <param name="item">
            The item to remove from the System.Collections.Generic.ICollection.
            </param>
            <returns>
            True if item was successfully removed from the System.Collections.Generic.ICollection;
            otherwise, false. This method also returns false if item is not found in
            the original System.Collections.Generic.ICollection.
            </returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphSetterCollection.Contains(Microsoft.VisualStudio.GraphModel.Styles.GraphSetter)">
            <summary>
            Checks to see if the Setter is in this collection
            </summary>
            <param name="item">The setter to check for</param>
            <returns>True if the setter is in the list, false otherwise.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphSetterCollection.Get(System.String)">
            <summary>
            Get the property setter
            </summary>
            <param name="propertyName">The name of the property for which to retrieve the Setter object</param>
            <returns>The Setter for the property if it is in the list, null otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphSetterCollection.Clear">
            <summary>
            Clears the list of setters.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphSetterCollection.GetEnumerator">
            <summary>
            IEnumerable&lt;Setter&gt; implementation
            </summary>
            <returns>The type enumerator for the collection</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphSetterCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            IEnumerable implementation
            </summary>
            <returns>The enumerator for the collection</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection">
            <summary>
            This class provides methods for manipulating a collection of Style objects.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection._styles">
            <summary>
            The collection of styles.
            </summary>
            <remarks>Note: This is a transaction collection</remarks>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection._graph">
            <summary>
            The Graph associated with this style collection
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.#ctor(Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Construct new styles object for the given graph.
            </summary>
            <param name="graph">The Graph which owns the styles in this collection</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.Count">
            <summary>
            Return the number of styles in the collection.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.Add(Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle)">
            <summary>
            Adds the specified style to the collection.  If the given style belongs to a different graph then
            it clones it and returns the new style.
            </summary>
            <param name="item">Node to add</param>
            <returns>The Node that was added</returns>
            <exception cref="T:System.ArgumentNullException">thrown if node is null</exception>
            <exception cref="T:System.InvalidOperationException">thrown if the unique node id already exists</exception>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the System.Collections.Generic.ICollection is read-only.
            </summary>
            <value>
            True if the System.Collections.Generic.ICollection is read-only; otherwise, false.
            </value>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.CopyTo(Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle[],System.Int32)">
            <summary>
            Copies the elements of the System.Collections.Generic.ICollection to an
            System.Array, starting at a particular System.Array index.
            </summary>
            <param name="array">
            The one-dimensional System.Array that is the destination of the elements
            copied from System.Collections.Generic.ICollection. The System.Array must
            have zero-based indexing.
            </param>
            <param name="arrayIndex">
            The zero-based index in array at which copying begins.
            </param>
            <exception cref="T:System.ArgumentNullException">array is null</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">arrayIndex is less than 0.</exception>
            <exception cref="T:System.ArgumentException">
            array is multidimensional.-or-The number of elements in the source System.Collections.Generic.ICollection
            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:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.Remove(Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle)">
            <summary>
            Removes the first occurrence of a specific object from the System.Collections.Generic.ICollection.
            </summary>
            <param name="item">
            The item to remove from the System.Collections.Generic.ICollection.
            </param>
            <returns>
            True if item was successfully removed from the System.Collections.Generic.ICollection;
            otherwise, false. This method also returns false if item is not found in
            the original System.Collections.Generic.ICollection.
            </returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.MergeOrInsert(Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle,System.Int32)">
            <summary>
            Add this style if one doesn't already exist with the same target type and conditions.
            If one exists with the same target type and conditions then merge the setters.
            </summary>
            <param name="style">The style to merge</param>
            <param name="index">The index to insert the new style if it doesn't already exist</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.Contains(Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle)">
            <summary>
            Return true if the given style is already in the list.
            </summary>
            <param name="item">The style to search for</param>
            <returns>True if the style is in this collection, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.Insert(System.Int32,Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle)">
            <summary>
            Insert the given style at the given location in the list.
            </summary>
            <param name="index">The location to insert into</param>
            <param name="style">The style to insert</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.Clear">
            <summary>
            Clear the list of styles.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.Graph">
            <summary>
            Gets the Graph associated with this nodes collection
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.Owner">
            <summary>
            Gets the Graph associated with this nodes collection
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.FindStyle(System.String)">
            <summary>
            Find existing style by groupLabel
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.GetEnumerator">
            <summary>
            Gets the types enumerator for this collection
            </summary>
            <returns>The enumerator</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns the enumerator for this collection
            </summary>
            <returns>The enuemrator</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.CompiledStyleSet">
            <summary>
            Get the compiled style set.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.Compile(System.EventHandler{Microsoft.VisualStudio.GraphModel.Styles.GraphErrorEventArgs})">
            <summary>
            Compile the conditional expressions in the styles for this Graph.
            </summary>
            <param name="compileErrorCallback">Delegate for receiving compile error information</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.IsCompiled">
            <summary>
            Find out if the CompileStyles method needs to be called.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.HasPendingPropertyChangeEvents">
            <summary>
            Return true if there are any pending PropertyChange events.  If this returns true then call the 
            RaisePendingPropertyChangeEvents method.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyleCollection.RaisePendingPropertyChangeEvents(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphObject})">
            <summary>
            Raise any PropertyChanged events that need to be raised based on all referenced properties in the 
            conditional expressions and property value expressions in the compiled style set.
            </summary>
            <param name="graphObjects"></param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.AggregatorKind">
            <summary>
            Enum of the various kinds of aggregation operations for properties set by multiple IGraphProviders.
            </summary>
            <remarks>
            Currently only 'Or' operations on booleans are supported.
            </remarks>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.AggregatorKind.None">
            <summary>
            The aggregated property value equals the value of the last provider to set it.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.AggregatorKind.Or">
            <summary>
            All provider values are combined via a boolean or operation.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeNodeProperties.SourceLocation">
            <summary>
            The file, line, and column location of the code element.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeNodeProperties.IdentifierSourceLocation">
            <summary>
            The file, line, and column location of the code element's identifier.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeNodeProperties.IsCompilerGenerated">
            <summary>
            The node is compiler generated.
            </summary>
            <remarks>This usually also means the node will not appear in the UI.</remarks>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_AddHandlerMethod_Label">
            <summary>
              Looks up a localized string similar to Add Handler Method.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Assembly_Label">
            <summary>
              Looks up a localized string similar to Assembly.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Calls_Label">
            <summary>
              Looks up a localized string similar to Calls.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Class_Label">
            <summary>
              Looks up a localized string similar to Class.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_ContainsChildren_Label">
            <summary>
              Looks up a localized string similar to Contains Children.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Definitions_Label">
            <summary>
              Looks up a localized string similar to Definitions.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Delegate_Label">
            <summary>
              Looks up a localized string similar to Delegate.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_EndCharacterOffset_Label">
            <summary>
              Looks up a localized string similar to End Character Offset.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_EndLineNumber_Label">
            <summary>
              Looks up a localized string similar to End Line Number.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Enum_Label">
            <summary>
              Looks up a localized string similar to Enum.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Event_Label">
            <summary>
              Looks up a localized string similar to Event.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_ExplicitInterfaceName_Label">
            <summary>
              Looks up a localized string similar to Explicit Interface.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Field_Label">
            <summary>
              Looks up a localized string similar to Field.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_File_Label">
            <summary>
              Looks up a localized string similar to File.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_GenericArgumentsName_Label">
            <summary>
              Looks up a localized string similar to Generic Arguments.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_GenericParameterCountName_Label">
            <summary>
              Looks up a localized string similar to Generic Parameter Count.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_GetMethod_Label">
            <summary>
              Looks up a localized string similar to Get Method.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_IdentifierSourceLocation_Label">
            <summary>
              Looks up a localized string similar to Identifier Source Location.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Implements_Label">
            <summary>
              Looks up a localized string similar to Implements.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_InheritsFrom_Label">
            <summary>
              Looks up a localized string similar to Inherits From.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Interface_Label">
            <summary>
              Looks up a localized string similar to Interface.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_IsCompilerGenerated_Label">
            <summary>
              Looks up a localized string similar to Is Compiler Generated.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_LocalVariable_Label">
            <summary>
              Looks up a localized string similar to Local Variable.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_LocalVariableIndex_Label">
            <summary>
              Looks up a localized string similar to Local Variable Index.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Member_Label">
            <summary>
              Looks up a localized string similar to Member.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Method_Label">
            <summary>
              Looks up a localized string similar to Method.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Module_Label">
            <summary>
              Looks up a localized string similar to Module.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Namespace_Label">
            <summary>
              Looks up a localized string similar to Namespace.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_NavigateToItem_Label">
            <summary>
              Looks up a localized string similar to Navigate To Item.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Parameter_Label">
            <summary>
              Looks up a localized string similar to Parameter.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_ParameterIdentifierName_Label">
            <summary>
              Looks up a localized string similar to Parameter Identifier.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_ParamKind_Label">
            <summary>
              Looks up a localized string similar to Parameter Kind.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_ParentTypeName_Label">
            <summary>
              Looks up a localized string similar to Parent Type.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Project_Label">
            <summary>
              Looks up a localized string similar to Project.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_ProjectFolder_Label">
            <summary>
              Looks up a localized string similar to Project Folder.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_ProjectItem_Label">
            <summary>
              Looks up a localized string similar to Project Item.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Property_Label">
            <summary>
              Looks up a localized string similar to Property.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_RaiseEventMethod_Label">
            <summary>
              Looks up a localized string similar to Raise Event Method.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_References_Label">
            <summary>
              Looks up a localized string similar to References.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_RemoveHandlerMethod_Label">
            <summary>
              Looks up a localized string similar to Remove Handler Method.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_SetMethod_Label">
            <summary>
              Looks up a localized string similar to Set Method.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Solution_Label">
            <summary>
              Looks up a localized string similar to Solution.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_SourceLocation_Label">
            <summary>
              Looks up a localized string similar to Source Location.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_SourceReferences_Label">
            <summary>
              Looks up a localized string similar to Source References.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_StartCharacterOffset_Label">
            <summary>
              Looks up a localized string similar to Start Character Offset.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_StartLineNumber_Label">
            <summary>
              Looks up a localized string similar to Start Line Number.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Struct_Label">
            <summary>
              Looks up a localized string similar to Struct.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.CodeSchemaResources.CodeSchema_Type_Label">
            <summary>
              Looks up a localized string similar to Type.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.DgmlNodeProperties.ContainsChildren">
            <summary>
            Property that represents whether or not the code element contains any children.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.DgmlNodeProperties.GetCategories">
            <summary>
            This is a special property that is set on the IGraphContext RequestedProperties signifying to the 
            provider that the caller wants the provider to add "GraphCategory" information to the input nodes.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.DgmlNodeProperties.Aggregator">
            <summary>
            A metadata property that determines how a property is aggregated from multiple IGraphProviders.
            </summary>
            <remarks>
            Currently only supports boolean properties and the OR aggregator.
            </remarks>
            <example>
            The ContainsChildren property sets Aggregator="OR" so if several IGraphProvider instances 
            return different values for the ContainsChildren property, the value will be 'true' 
            as long as at least one provider returned true.
            </example>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Schemas.DgmlSchemaResources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.DgmlSchemaResources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.DgmlSchemaResources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.DgmlSchemaResources.DgmlCommonSchema_ContainsChildren_Label">
            <summary>
              Looks up a localized string similar to Contains Children.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Schemas.DgmlSchemaResources.DgmlCommonSchema_Icon_Label">
            <summary>
              Looks up a localized string similar to Icon.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.CodeSchema.ParamKind">
            <summary>
            ParamKind enum is used in constructing type GraphNodeIds used in method/property OverloadingParameters.
            CLR spec allows overloading methods differ by parameter passing (by value vs. by ref), return type, and vararg,
            so having the parameter types alone is not enough to distinguish all overloaded methods, and the ParamKind
            enum is used to further distinguish them.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.CodeSchema.ParamKind.Default">
            <summary>
            Default passing conversion of the parameter, i.e. pass-by-value.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.CodeSchema.ParamKind.Ref">
            <summary>
            This parameter is passed by reference.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.CodeSchema.ParamKind.Return">
            <summary>
            Sometimes we'll add the return type of a method into its OverloadingParameters list to ensure uniqueness of the
            method Id. In such cases, we'll mark these special parameters as Return.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation">
            <summary>
            Specifies a location in a source file.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation.#ctor(System.Uri,Microsoft.VisualStudio.GraphModel.CodeSchema.Position)">
            <summary>
            Creates an instance of the SourceLocation with given file name URI and position in the file.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation.#ctor(System.String,Microsoft.VisualStudio.GraphModel.CodeSchema.Position)">
            <summary>
            Creates an instance of the SourceLocation with given file name and position in the file.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation.#ctor(System.Uri,Microsoft.VisualStudio.GraphModel.CodeSchema.Position,Microsoft.VisualStudio.GraphModel.CodeSchema.Position)">
            <summary>
            Creates an instance of the SourceLocation with given file name URI and start/end positions in the file.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation.#ctor(System.String,Microsoft.VisualStudio.GraphModel.CodeSchema.Position,Microsoft.VisualStudio.GraphModel.CodeSchema.Position)">
            <summary>
            Creates an instance of the SourceLocation with given file name and start/end positions in the file.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation.FileName">
            <summary>
            Gets the file name this source location belongs to.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation.StartPosition">
            <summary>
            Gets the start location in the file.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation.EndPosition">
            <summary>
            Gets the end location in the file.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation.IsValid">
            <summary>
            Gets true if the source location instance is valid.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation.CreateGraphNodeId">
            <summary>
            Creates graph node id for this source location, which includes the file name and positions as parts.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation.ToString">
            <summary>
            Represents this source location as a string.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation.Equals(System.Object)">
            <summary>
            Compares this source location instance with another object for equality.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation.Equals(Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation)">
            <summary>
            Compares this source location instance with another source location instance for equality.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation.GetHashCode">
            <summary>
            See <see cref="M:System.Object.GetHashCode" />.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation.op_Equality(Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation,Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation)">
            <summary>
            Compares this source location instance with another source location instance for equality.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation.op_Inequality(Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation,Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation)">
            <summary>
            Compares this source location instance with another source location instance for inequality.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocationTypeConverter">
            <summary>
            Type converter for the SourceLocation type.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocationTypeConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocationTypeConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <summary>
            Converts the given object to a SourceLocation instance, using the specified context and culture information.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocationTypeConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
            <summary>
            Converts the given SourceLocation object to the specified type, using the specified context and culture information.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.ExtensibilityResources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.ExtensibilityResources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.ExtensibilityResources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.ExtensibilityResources.BaseTypesCommandLabel">
            <summary>
              Looks up a localized string similar to Base Types.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.ExtensibilityResources.CallsCommandLabel">
            <summary>
              Looks up a localized string similar to Calls.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.ExtensibilityResources.ContainsCommandLabel">
            <summary>
              Looks up a localized string similar to Contains.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.ExtensibilityResources.DerivedTypesCommandLabel">
            <summary>
              Looks up a localized string similar to Derived Types.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.ExtensibilityResources.IsCalledByCommandLabel">
            <summary>
              Looks up a localized string similar to Is Called By.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.ExtensibilityResources.IsDefinedByCommandLabel">
            <summary>
              Looks up a localized string similar to Is Defined By.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.ExtensibilityResources.IsUsedByCommandLabel">
            <summary>
              Looks up a localized string similar to Is Used By.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommand.Definition">
            <summary>
            The GraphCommandDefinition to which this command belongs.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommand.TargetCategories">
            <summary>
            The target node categories that will be the result of this command.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommand.LinkCategories">
            <summary>
            The link categories that connect to the results of this command.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommand.TrackChanges">
            <summary>
            True if the command supports tracking changes to the results.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCommand.#ctor(Microsoft.VisualStudio.GraphModel.GraphCommandDefinition,System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphCategory},System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphCategory},System.Boolean)">
            <summary>
            Creates a new GraphCommand.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphCommandDefinition">
            <summary>
            Defines a particular command definition that can be used to group GraphCommands.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommandDefinition.Id">
            <summary>
            The unique identifier for this command.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommandDefinition.Label">
            <summary>
            The readable label for this command.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommandDefinition.Direction">
            <summary>
            The direction of GraphContexts within this command.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommandDefinition.Priority">
            <summary>
            The priority used to sort the command when it is presented to the user.
            Commands with lower numbers are placed higher in the resulting sort.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCommandDefinition.#ctor(System.String,System.String,Microsoft.VisualStudio.GraphModel.GraphContextDirection,System.Int32)">
            <summary>
            Creates a new GraphCommandDefinition.
            </summary>
            <param name="id">The unique identifier.</param>
            <param name="label">The readable label.</param>
            <param name="direction">The direction of the GraphContexts associated with this command.</param>
            <param name="priority">The priority used to sort the command when it is presented to the user.</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommandDefinition.Contains">
            <summary>
            A definition representing a Contains relationship.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommandDefinition.Calls">
            <summary>
            A definition representing a Calls relationship.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommandDefinition.IsCalledBy">
            <summary>
            A definition representing an IsCalledBy relationship.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommandDefinition.BaseTypes">
            <summary>
            A definition representing a BaseTypes relationship.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommandDefinition.DerivedTypes">
            <summary>
            A definition representing a DerivedTypes relationship.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommandDefinition.IsUsedBy">
            <summary>
            A definition representing an IsUsedBy relationship.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommandDefinition.IsDefinedBy">
            <summary>
            A definition representing an IsDefinedBy relationship.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphContextDirection">
            <summary>
            Enumeration of possible GraphContext search directions.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphContextDirection.Any">
            <summary>
            Search in any direction.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphContextDirection.Target">
            <summary>
            Search towards link targets.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphContextDirection.Source">
            <summary>
            Search towards link sources.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphContextDirection.Contains">
            <summary>
            Search towards containment link targets.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphContextDirection.ContainedBy">
            <summary>
            Search towards containment link sources.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphContextDirection.Self">
            <summary>
            Do not search along links.
            Just execute on the input nodes.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphContextDirection.Custom">
            <summary>
            Perform a custom action.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphProviderAttribute">
            <summary>
            Attribute to indicate that the target type is a graph provider.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphProviderAttribute.#ctor(System.Type)">
            <summary>
            Constructor for specifying a custom type to be MEF exported.
            </summary>
            <param name="contractType">The type that will be exported through MEF.  Currently only IGraphProvider is supported.</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphProviderAttribute.Name">
            <summary>
            The name used to identify the provider.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphProviderAttribute.IntellisenseType">
            <summary>
            The intellisense type guid as a string.  The provider will be loaded any time a project with this intellisense kind is present.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphProviderAttribute.ProjectKind">
            <summary>
            The project kind guid as a string.  The provider will be loaded any time a project of this kind is present.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphProviderAttribute.ProjectCapability">
            <summary>
            Provider will be loaded any time specified capability is present in a project.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphProviderAttribute.ActiveUIContext">
            <summary>
            A UIContext GUID as a string. The provider will be loaded if this UI context is active.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.IGraphContext">
            <summary>    
            Interface representing a context which specifies a desired set of data.
            Providers place the requested data in the provided graph and the output nodes collection.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphContext.LinkDepth">
            <summary>
            How many links away from the input nodes to return.
            int.MaxValue means fetch everything that is reachable from the input nodes.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphContext.LinkCategories">
            <summary>
            The link categories to navigate from the input nodes (i.e. what relationships to traverse).
            For example, "Calls", or "Calls and References", etc.
            An empty collection implies that all links should be traversed.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphContext.NodeCategories">
            <summary>
            The target node categories that will be placed in the OutputNodes collection.
            An empty collection implies that all target nodes should be output nodes.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphContext.RequestedProperties">
            <summary>
            The properties requested to be on the returned input and output nodes.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphContext.Direction">
            <summary>
            The direction to traverse starting from the input nodes.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IGraphContext.SetValue``1(System.String,``0)">
            <summary>
            Adds a new value to the context's property bag.
            This can be used to pass extra information to providers.
            </summary>
            <typeparam name="T">The generic type of the value being set.</typeparam>
            <param name="name">The key for the value.</param>
            <param name="value">The actual object value.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IGraphContext.GetValue``1(System.String)">
            <summary>
            Retrieves a value that the caller has passed in.
            </summary>
            <typeparam name="T">The expected type of the value.</typeparam>
            <param name="name">The key of the value.</param>
            <returns>Returns the value or default(T)"/&gt;</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IGraphContext.HasValue(System.String)">
            <summary>
            Find out if the caller has passed in a value with the given name.
            </summary>
            <param name="name">The key for the value.</param>
            <returns>Returns true if the context contains a value for the given key.</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphContext.Graph">
            <summary>
            The graph that new data will be added to.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphContext.InputNodes">
            <summary>
            The initial nodes from which the GraphContext navigates.
            An empty collection implies a search of the global scope (ex: looking for top level namespaces).
            </summary>
            <remarks>
            For a GUI caller, this collection may correspond to the selected nodes.
            </remarks>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphContext.OutputNodes">
            <summary>
            The nodes that answer the query posed by the context.
            More data may be present in the Graph than in the OutputNodes.
            OutputNodes must be part of the Graph.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphContext.TrackChanges">
            <summary>
            True if the graph context wants to continue to be informed of changes to the output nodes.
            The Cancel method stops this tracking.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphContext.CancelToken">
            <summary>
            Get the current CancellationToken
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IGraphContext.ReportProgress(System.Int32,System.Int32,System.String)">
            <summary>
            Called by the providers to report progress.
            </summary>
            <param name="current">The current position relative to the given maximum.</param>
            <param name="maximum">The estimated maximum amount of work to be done.</param>
            <param name="message">An optional localized message that describes what is being done.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IGraphContext.ReportError(System.Exception)">
            <summary>
            Called by the provider to report exceptions and errors.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphContext.Errors">
            <summary>
            A list of the reported errors.
            </summary>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.IGraphContext.Completed">
            <summary>
            Raised when the results of the context have been populated.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IGraphContext.OnCompleted">
            <summary>
            Called to raise the Completed event when the IGraphContext is finished being processed.
            </summary>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.IGraphContext.Canceled">
            <summary>
            Raised when this context is canceled.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.IGraphFormattedLabel">
            <summary>
            Interface representing an extension that can provide optional formatted labels
            for a GraphObject (i.e. labels that aren't permanently stored with the object).
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IGraphFormattedLabel.Label(Microsoft.VisualStudio.GraphModel.GraphObject,System.String)">
            <summary>
            Provides an optional label that the consumer will use instead of the node's
            Label property.
            </summary>
            <param name="graphObject">The graph object to provide a display label for.</param>
            <param name="graphCommandDefinitionIdentifier">The command identifier
            associated with the node being displayed.  This can be used to customize
            the label for a node when viewed in different views.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IGraphFormattedLabel.Description(Microsoft.VisualStudio.GraphModel.GraphObject,System.String)">
            <summary>
            Provides an optional description to associate with the node. A common use for
            the consumer is to display this as a tool tip.
            </summary>
            <param name="graphObject">The graph object to provide a tool tip for.</param>
            <param name="graphCommandDefinitionIdentifier">The command identifier
            associated with the node being displayed.  This can be used to customize
            the label for a node when viewed in different views.</param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.IGraphNavigateToItem">
            <summary>
            Interface representing an extension that can navigate to the item represented by a GraphObject.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IGraphNavigateToItem.NavigateTo(Microsoft.VisualStudio.GraphModel.GraphObject)">
            <summary>
            Navigates to the item represented by the Graphobject.
            </summary>
            <param name="graphObject">The graph object to navigate to.</param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphNavigateToItemRanks">
            <summary>
            Common rank values for the IGraphNavigateToItem extension.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNavigateToItemRanks.CanNavigateToItem">
            <summary>
            Default rank value - a provider can navigate to an item in some way.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNavigateToItemRanks.OwnItem">
            <summary>
            Higher rank value - a provider owns the item and can navigate to
            it better than other providers.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.IGraphProvider">
            <summary>    
            An interface implemented by plugins that know how to return Graph data.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphProvider.Schema">
            <summary>
            Describes the types of node and link categories produced by this provider,
            Where each Node in the graph is the Id of a Node Category and each link between the
            nodes describes the type of navigations possible between nodes.  Can return null, but 
            implementing it allows for optimizing the calls to the provider.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IGraphProvider.BeginGetGraphData(Microsoft.VisualStudio.GraphModel.IGraphContext)">
            <summary>
            Get some data for the given graph context.  The provider should watch the
            CancellationToken and ThrowIfCancelled in regular places in case it is a long
            running operation and the caller has decided they don't want any more data.
            This call could come in on any thread, so the provider has to be able to handle that.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IGraphProvider.GetExtension``1(Microsoft.VisualStudio.GraphModel.GraphObject,``0)">
            <summary>
            Gets the extension T for the given GraphObject.
            </summary>
            <param name="graphObject">The GraphObject whose extension is being retrieved.</param>
            <param name="previous">The previous providers result. This can be used to chain multiple provider's extension together if necessary.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IGraphProvider.GetCommands(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphNode})">
            <summary>
            Gets the GraphCommands that are available from this provider for the given set of nodes.
            </summary>
            <returns>The available GraphCommands.</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.IGraphProviderMetadata">
            <summary>
            Metadata that describes a GraphProvider.
            This data is used to lazily load the provider only when necessary.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphProviderMetadata.Name">
            <summary>
            The name of the provider.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphProviderMetadata.IntellisenseType">
            <summary>
            The intellisense type guid as a string.  The provider will be loaded any time a project with this intellisense kind is present.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphProviderMetadata.ProjectKind">
            <summary>
            The project kind guid as a string.  The provider will be loaded any time a project of this kind is present.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphProviderMetadata.ProjectCapability">
            <summary>
            Provider will be loaded any time specified capability is present in a project.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphProviderMetadata.ActiveUIContext">
            <summary>
            A UIContext GUID as a string. The provider will be loaded if this UI context is active.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.IGraphProviderRankableExtension">
            <summary>
            When more than one graph provider supports an extention type on a graph object,
            only one extension instance has to be choosen to be invoked.
            This interface represents an extension that can provide its rank and by doing that
            influence the selection of an extension instance to be invoked. An extention
            instance with the greatest rank value will be choosen.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IGraphProviderRankableExtension.GetRank(Microsoft.VisualStudio.GraphModel.GraphObject)">
            <summary>
            Get a rank value associated with given graph object. The greater is this
            value the more likely this extension instance will be choosen when more
            than one provider supports this extension type on a graph object.
            For example the C# provider's IGraphNavigateToItem extension will return 
            greater value if the graph object represents a code element from a C# project
            and lesser value for a code element from metadata (which might be handled
            better by another provider).
            </summary>
            <param name="graphObject">The graph object to be ranked against.</param>
            <returns>The rank value associated with given graph object. It's
            recommended that each extension defines its own domain specific
            rank constant values.</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Graph">
            <summary>
            Represents a directed graph, consisting of nodes and links.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.#ctor">
            <summary>
            Constructs a Graph object.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Graph._nodes">
            <summary>
            The collection of all nodes in the graph including nodes that have IsGroup=true.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Graph._groups">
            <summary>
            The collection of all top level groups in the graph.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Graph._links">
            <summary>
            The collection of links
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Graph._groupManager">
            <summary>
            The group hierarchy manager
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Graph.Nodes">
            <summary>
            Get the collection of all nodes in the graph, including nodes that are groups.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Graph.Groups">
            <summary>
            Get the collection of all top level groups
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Graph.AllGroups">
            <summary>
            Every group in the graph regardless of visibility or nesting
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Graph.OrphanNodes">
            <summary>
            Get all nodes that are not children of any GraphGroup
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.FindGroup(Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Return the GraphGroup wrapper for the given "IsGroup" node.
            </summary>
            <param name="node"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.InternalFindGroup(Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Internal method to find group, but do not construct the group if it doesn't already exist.
            </summary>
            <param name="node"></param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Graph.VisibleOrphanNodes">
            <summary>
            Get all visible nodes that are not children of any GraphGroup
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Graph.Links">
            <summary>
            Get the collection of links
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Graph.GroupManager">
            <summary>
            Get the group manager object.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Graph._documentSchema">
            <summary>
            The document schema of the Graph which contains all properties and categories discovered by serializer that
            were not already defined in the _schemas collection.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Graph.DocumentSchema">
            <summary>
            Get The document schema of the Graph which contains all properties and categories discovered by serializer that
            were not already defined in a schema registered via AddSchema.   Does not return null.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.AddSchema(Microsoft.VisualStudio.GraphModel.GraphSchema)">
            <summary>
            Add a new schema to the Graph - once it's added, it cannot be removed again as nodes or links
            might be using categories or properties from the schema.
            </summary>
            <param name="schema">The schema to add to the graph</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Graph.AllSchemas">
            <summary>
            Return a list of all unique known schemas.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Graph._metadataForObjects">
            <summary>
            Storage for GraphMetadata associated with GraphProperty and GraphCategory objects used by this Graph.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Copy">
            <summary>
            Create a copy of this graph.
            </summary>
            <returns>The newly copied graph</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.CopySchemas(Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Copy the schemas from the other graph
            </summary>
            <param name="other">The other graph</param>
            <returns>Returns true if this graph was changed.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Load(System.String,Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Load a new Graph object from the given file.
            </summary>
            <param name="fileName">The filename</param>
            <param name="schemas">the schemas</param>
            <returns>The Graph, if loaded</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Load(System.String,System.EventHandler{Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs},Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Load a new Graph object from the given file.
            </summary>
            <param name="fileName">The filename</param>
            <param name="progressHandler">Callback handler for reporting load progress</param>
            <param name="schemas">the schemas</param>
            <returns>The Graph, if loaded</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Load(System.IO.Stream,Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Loads the graph object model from the given stream.
            </summary>
            <param name="stream">The stream to deserialize</param>
            <param name="schemas">the schemas</param>
            <returns>New deserialized Graph object</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Load(System.IO.Stream,System.EventHandler{Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs},Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Loads the graph object model from the given stream.
            </summary>
            <param name="stream">The stream to deserialize</param>
            <param name="progressHandler">Callback handler for reporting load progress</param>
            <param name="schemas">the schemas</param>
            <returns>New deserialized Graph object</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Load(System.Xml.XmlReader,Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Loads the graph object model from the given XmlReader. Consider not using this API since it might be removed in the future.
            Do not use this API unless you configured the reader with appropriate settings: <see cref="P:System.Xml.XmlReaderSettings.DtdProcessing" /> (Ignore) and <see cref="P:System.Xml.XmlReaderSettings.CheckCharacters" /> (false)
            </summary>
            <param name="reader">The XmlReader to deserialize.</param>
            <param name="schemas">the schemas</param>
            <returns>New deserialized Graph object.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Load(System.Xml.XmlReader,System.EventHandler{Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs},Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Loads the graph object model from the given XmlReader.
            </summary>
            <param name="reader">The XmlReader to deserialize.</param>
            <param name="progressHandler">Callback handler for reporting load progress</param>
            <param name="schemas">the schemas</param>
            <returns>New deserialized Graph object.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Load(System.Xml.Linq.XDocument,Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Loads the graph object model from the given XDocument.
            </summary>
            <param name="doc">The XDocument to deserialize.</param>
            <param name="schemas">the schemas</param>
            <returns>New deserialized Graph object.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Load(System.Xml.Linq.XDocument,System.EventHandler{Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs},Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Loads the graph object model from the given XDocument.
            </summary>
            <param name="doc">The XDocument to deserialize.</param>
            <param name="progressHandler">Callback handler for reporting load progress</param>
            <param name="schemas">the schemas</param>
            <returns>New deserialized Graph object.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Load(System.IO.TextReader,Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Loads the graph object model from the given TextReader.
            </summary>
            <param name="reader">The TextReader to deserialize.</param>
            <param name="schemas">the schemas</param>
            <returns>New deserialized Graph object.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Load(System.IO.TextReader,System.EventHandler{Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs},Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Loads the graph object model from the given TextReader.
            </summary>
            <param name="reader">The TextReader to deserialize.</param>
            <param name="progressHandler">Callback handler for reporting load progress</param>
            <param name="schemas">the schemas</param>
            <returns>New deserialized Graph object.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.LoadAndMerge(System.String,Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Loads the graph object model from the given file and merges it in to the graph.
            </summary>
            <param name="filename">The graph file to load.</param>
            <param name="schemas">the schemas</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.LoadAndMerge(System.String,System.EventHandler{Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs},Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Loads the graph object model from the given file and merges it in to the graph.
            </summary>
            <param name="filename">The graph file to load.</param>
            <param name="progressHandler">Callback handler for reporting load progress</param>
            <param name="schemas">the schemas</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.LoadAndMerge(System.IO.Stream,Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Loads the graph object model from the given stream and merges it in to the graph.
            </summary>
            <param name="stream">The stream to load.</param>
            <param name="schemas">the schemas</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.LoadAndMerge(System.IO.Stream,System.EventHandler{Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs},Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Loads the graph object model from the given stream and merges it in to the graph.
            </summary>
            <param name="stream">The stream to load.</param>
            <param name="progressHandler">Callback handler for reporting load progress</param>
            <param name="schemas">the schemas</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.LoadAndMerge(System.Xml.Linq.XDocument,Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Loads the graph object model from the given XDocument and merges it in to the graph.
            </summary>
            <param name="doc">The XDocument to load.</param>
            <param name="schemas">the schemas</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.LoadAndMerge(System.Xml.Linq.XDocument,System.EventHandler{Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs},Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Loads the graph object model from the given XDocument and merges it in to the graph.
            </summary>
            <param name="doc">The XDocument to load.</param>
            <param name="progressHandler">Callback handler for reporting load progress</param>
            <param name="schemas">the schemas</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Parse(System.String,Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Load a new Graph object from the given in-memory string containing DGML markup.
            </summary>
            <param name="dgml">The DGML text to load</param>
            <returns>The Graph for the given DGML</returns>
            <param name="schemas">the schemas</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Parse(System.String,System.EventHandler{Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs},Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Load a new Graph object from the given in-memory string containing DGML markup.
            </summary>
            <param name="dgml">The DGML text to load</param>
            <param name="progressHandler">Callback handler for reporting load progress</param>
            <param name="schemas">the schemas</param>
            <returns>The Graph for the given DGML</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Save(System.String,System.Xml.XmlWriterSettings,Microsoft.VisualStudio.GraphModel.GraphSerializationSettings)">
            <summary>
            Save the Graph the a file.
            </summary>
            <param name="fileName">The file name</param>
            <param name="writerSettings">Writer settings.</param>
            <param name="settings">Optional serialization settings.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Save(System.String,Microsoft.VisualStudio.GraphModel.GraphSerializationSettings)">
            <summary>
            Save the Graph the a file.
            </summary>
            <param name="fileName">The file name</param>
            <param name="settings">Optional serialization settings.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Save(System.Xml.XmlWriter,Microsoft.VisualStudio.GraphModel.GraphSerializationSettings)">
            <summary>
            Save the graph to the XmlWriter with the given settings.
            </summary>
            <param name="writer">The XmlWriter.</param>
            <param name="settings">The serialization settings.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Save(System.IO.Stream,System.Xml.XmlWriterSettings,Microsoft.VisualStudio.GraphModel.GraphSerializationSettings)">
            <summary>
            Save the graph to the output stream with the given settings.
            </summary>
            <param name="outputStream">The output stream.</param>
            <param name="writerSettings">Optional writer settings.</param>
            <param name="settings">The serialization settings.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Save(System.IO.Stream,Microsoft.VisualStudio.GraphModel.GraphSerializationSettings)">
            <summary>
            Save the graph to the output stream with the given settings.
            </summary>
            <param name="outputStream">The output stream.</param>
            <param name="settings">The serialization settings.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.ParseSerializedNodeId(System.String)">
            <summary>
            Parses a serialized node ID into a fully expanded GraphNodeId.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Graph.CommonPaths">
            <summary>
            A dictionary of the common paths that are replaced during serialization.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.ImportLink(Microsoft.VisualStudio.GraphModel.GraphLink)">
            <summary>
            Imports a Link along with its source and target nodes so they belong to the graph also.
            Merges any node or link properties and categories necessary.
            </summary>
            <param name="link">The Link to import</param>
            <returns>The imported Link if new to this graph, otherwise the Link itself is simply returned</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.InternalImportLink(Microsoft.VisualStudio.GraphModel.GraphLink,System.Boolean)">
            <summary>
            Same as ImportLink, except it provides additional control over whether to import the schemas or not
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.ImportNode(Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Imports a node into a graph.
            Merging any categories and properties necessary.
            </summary>
            <param name="node">The Node to import</param>
            <returns>The imported node if new to this graph, otherwise the node itself is simply returned</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.InternalImportNode(Microsoft.VisualStudio.GraphModel.GraphNode,System.Boolean)">
            <summary>
            Same as ImportNode, except it provides additional control over whether to import the schemas or not
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Merge(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphObject})">
            <summary>
            Merge all new nodes and links from the given list of graph objects into this graph 
            </summary>
            <param name="other">The list of graph objects to use as a source for merging</param>
            <returns>True if the graph was changed, otherwise false</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Merge(Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Merge all new nodes and links from the given graph into this graph 
            </summary>
            <param name="other">The Graph to use as a source for merging</param>
            <returns>True if the graph was changed, otherwise false</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Merge(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphNode})">
            <summary>
            Merge all of the nodes from the given node list into this graph
            </summary>
            <param name="other">List of nodes to merge in</param>
            <returns>True if the graph was change, otherwise false</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Merge(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphLink})">
            <summary>
            Merge all of the links from the given link list into this graph
            </summary>
            <param name="other">List of links to merge in</param>
            <returns>True if the graph was change, otherwise false</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.Merge(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle})">
            <summary>
            Merge all the styles from the given list.
            </summary>
            <param name="styles">The styles to merge into this graph</param>
            <returns>True if there were any styles to merge, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.ImportStyle(Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle)">
            <summary>
            Create a copy of the given style that belongs to this graph.
            </summary>
            <param name="style"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.ImportSubset(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphNode},System.Boolean,System.Int32)">
            <summary>
            Clone all the nodes and the given number of levels of links away from those nodes.
            </summary>
            <param name="nodes">The list of nodes to clone</param>
            <param name="hideOtherNodes">Flag indicating whether to set Visibility to Hidden on any secondary nodes
            that are copied by this cloning process</param>
            <param name="levels">How many more levels of indirection to include</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.GetGroupDescendants(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphObject})">
            <summary>
            Get a flat list of all the descendant nodes of the given list of graph objects where some of those
            objects could be groups.
            </summary>
            <param name="graphObjects">The list of objects to flatten</param>
            <returns>The flat list of all descendant nodes, including the nodes for the groups that were flattened</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.GetSearchableObjects(Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Get a flat list of all the nodes in the graph that are visible, in top down DFS group hierarchy order.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.GetGroupDescendants(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphObject},System.Predicate{Microsoft.VisualStudio.GraphModel.GraphGroup},System.Predicate{Microsoft.VisualStudio.GraphModel.GraphNode})">
            <summary>
            Get a flat list of all the descendant nodes of the given list of graph objects where some of those
            objects could be groups, filtered to include only the nodes and groups that match the given predicates.
            </summary>
            <param name="graphObjects">The list of objects to flatten</param>
            <param name="groupFilter">A predicate for filtering the groups you want to visit</param>
            <param name="nodeFilter">A predicate for filtering the descendant nodes you want included</param>
            <returns>The flat list of all descendant nodes, including the nodes for the groups that were flattened</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.ImportSubset(Microsoft.VisualStudio.GraphModel.GraphNode,System.Boolean,System.Int32)">
            <summary>
            Clone the given node and it's properties and the given number of levels of links
            and all the nodes those links point to and import all these new nodes and links into
            this graph.  If levels is zero then no links are copied.
            If levels is 1 then it copies one level of links and all the nodes they point to.
            </summary>
            <param name="node">The Node to clone</param>
            <param name="hideOtherNodes">Flag indicating whether to set Visibility to Hidden on any secondary nodes
            that are copied by this cloning process</param>
            <param name="levels">How many more levels of indirection to include</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.InternalImportSubset(Microsoft.VisualStudio.GraphModel.GraphNode,System.Boolean,System.Int32,System.Boolean)">
            <summary>
            Same as ImportSubset with an additional parameter that controls whether to copy schemas.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.ImportSubsetRecursive(Microsoft.VisualStudio.GraphModel.GraphNode,System.Boolean,System.Boolean,System.Int32)">
            <summary>
            Helper method to implement CloneSubset; operates on a single node.
            This method does NOT copy schemas.
            </summary>
            <param name="node">The Node to clone.</param>
            <param name="topLevel">Flag indicating if this is a top-level node</param>
            <param name="hideOtherNodes">Flag indicating if this non-top-level nodes should be hidden</param>
            <param name="levels">Depth at which to traverse links to find other nodes to merge into this graph</param>
            <returns>The newly merged node</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.ImportSubsetRecursive(System.Collections.Generic.HashSet{Microsoft.VisualStudio.GraphModel.GraphNode},Microsoft.VisualStudio.GraphModel.GraphNode,System.Boolean,System.Boolean,System.Int32)">
            <summary>
            Helper method to implement CloneSubset; operates on a single node.
            This method does NOT copy schemas.
            </summary>
            <param name="visitedNodes">Set of nodes already clonded</param>
            <param name="node">The Node to clone.</param>
            <param name="topLevel">Flag indicating if this is a top-level node</param>
            <param name="hideOtherNodes">Flag indicating if this node should be hidden</param>
            <param name="levels">Depth at which to traverse links to find other nodes to merge into this graph</param>
            <returns>The newly merged node</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Graph.VisibleNodes">
            <summary>
            Return the visible nodes (node.IsVisible == true)
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Graph.VisibleTopLevelGroups">
            <summary>
            Return the visible top level groups (node.IsVisible == true).
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Graph.VisibleLinks">
            <summary>
            Return the visible links (link.IsVisible == true) and whose source and target nodes are also visible
            and not inside any collapsed groups
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.RenameNode(System.String,System.String)">
            <summary>
            Renames a Node in the Graph (clones to new Node and removed original)
            </summary>
            <param name="originalNodeId">Id of the Node to rename</param>
            <param name="targetNodeId">Id of the new Node</param>
            <returns>The new node with the new Id (all other properties and categories copied from original, including all Links)</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.RenameNode(Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Renames a Node in the Graph (clones to new Node and removed original)
            </summary>
            <param name="originalNodeId">Id of the Node to rename</param>
            <param name="targetNodeId">Id of the new Node</param>
            <returns>The new node with the new Id (all other properties and categories copied from original, including all Links)</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.RenameNode(Microsoft.VisualStudio.GraphModel.GraphNode,Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Renames a Node in the Graph (clones to new Node and removed original)
            </summary>
            <param name="existingNode">The Node to rename</param>
            <param name="targetNodeId">Id of the new Node</param>
            <returns>The new node with the new Id (all other properties and categories copied from original, including all Links)</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.HideOrphans">
            <summary>
            Hides orphan nodes.
            An orphan is a node that is not contained by a group.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.FindCommonAncestor(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphNode})">
            <summary>
            This method finds the common ancestor of all the nodes in the given collection.
            </summary>
            <param name="nodes">The set of nodes to search</param>
            <returns>The common ancestor group or null if there is none</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.GetDepth(Microsoft.VisualStudio.GraphModel.GraphGroup,System.Collections.Generic.HashSet{Microsoft.VisualStudio.GraphModel.GraphGroup})">
            <summary>
            Gets the maximum depth of the given group in the group hierarchy.
            </summary>
            <returns>The maximum depth of the given group.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.BeginUpdate(System.Object,System.String,Microsoft.VisualStudio.GraphModel.UndoOption)">
            <summary>
            Start a batch mode update on the Graph (which is more efficient).  You must call the Complete() method on the returned
            GraphTransactionScope otherwise your changes will be rolled back.  The usual pattern is to use this in a using block so that
            if an exception is thrown the changes are automatically rolled back.
            </summary>
            <param name="undoUnitId">for identifying and merging</param>
            <param name="undoDescription">An application might surface this caption as a label on the undo operations</param>
            <param name="option">type of undo</param>
            <returns>A new GraphTransactionScope</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.BeginUpdate(System.Object,System.String,Microsoft.VisualStudio.GraphModel.UndoOption,System.Boolean)">
            <summary>
            Start a batch mode update on the Graph (which is more efficient).  You must call the Complete() method on the returned
            GraphTransactionScope otherwise your changes will be rolled back.  The usual pattern is to use this in a using block so that
            if an exception is thrown the changes are automatically rolled back.
            </summary>
            <param name="undoUnitId">for identifying and merging</param>
            <param name="undoDescription">An application might surface this caption as a label on the undo operations</param>
            <param name="option">type of undo</param>
            <param name="forceAdd">
            This is only valid if the option is UndoOption.Add, which causes a new undo unit even if it is empty. This is handy when you 
            are doing a compound operation made up of multiple merged undo units where you need to be sure the Add operation adds the 
            initial unit even if it's empty.
            </param>
            <returns>A new GraphTransactionScope</returns>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.Graph.BeginUndoableTransactionScope">
            <summary>
            will be notified when an UndoableGraphTransactionScope is opened by the Graph.BeginUpdate method.
            </summary>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.Graph.EndUndoableTransactionScope">
            <summary>
            will be notified when the UndoableGraphTransactionScope opened by Graph.BeginUpdate is disposed.
            </summary>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.Graph.Updated">
            <summary>
            Event implementation for GraphUpdated. We don't use an implicit C# event here because
            we want to only listen on the TransactedDictionaryChanges if there are clients listening on 
            us. (For perf reasons).
            </summary>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.Graph.Updating">
            <summary>
            Event implementation for BeforeUpdate. This is an event that can be listened on and cancel
            the changes to a graph. We don't use an implicit C# event here because
            we want to only listen on the TransactedDictionaryChanges if there are clients listening on 
            us. (For perf reasons).
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.GraphTransactionEnlistment_BeforeUpdate(Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistmentEventArgs)">
            <summary>
            Event handler that is fired during a GraphTransactionEnlistment Prepare phase
            This event can be canceled
            </summary>
            <param name="evt">The event arguments</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.OnCommitChanges(System.Object,Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistmentEventArgs)">
            <summary>
            Event handler that is fired during a GraphTransactionEnlistment Commit phase
            This event can NOT be canceled
            </summary>
            <param name="source">The source of the event</param>
            <param name="evt">The event arguments</param>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.Graph._styles">
            <summary>
            The styles element
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Graph.Styles">
            <summary>
            Get the collection of styles
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Graph.Paths">
            <summary>
            CommonPaths found by the serializer during load which we will also use during save.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.ToXml">
            <summary>
            Convert the graph to XML using the GraphSerializer.
            </summary>
            <returns>String containing serialized graph.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.ToXml(System.Int32)">
            <summary>
            Convert the graph to XML using the GraphSerializer.
            </summary>
            <param name="graphNodeIdAliasThreshold">Number of repetitions before aliasing will be performed for GraphNodeIds</param>
            <returns>String containing serialized graph.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            ISerializable implementation - Gets the data for the object.
            Serialize the graph into DGML
            </summary>
            <param name="info">Serialization info to add to</param>
            <param name="context">Ignored</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.Graph.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Special constructor that is used for deserialization only.
            </summary>
            <param name="info">Serialization info from which to retrieve the DGML for the graph</param>
            <param name="context">Ignored</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Graph.DeserializedIdentifiers">
            <summary>
            Gets or sets the stored mapping of alias ID's to fully-qualified identifers from the last
            serialization or deserialization.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphCategory">
            <summary>
            Graph Categories are used to specify category information on a GraphObject, like nodes and links.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphCategory._id">
            <summary>
            Unique Id for the GraphCategory
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphCategory._basedOn">
            <summary>
            A base category or null
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCategory.Id">
            <summary>
            Unique Id of this GraphCategory
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCategory.BasedOnCategory">
            <summary>
            Get/Set the base category or null
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategory.GetLabelOrId(Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Return the Label of this GraphCategory or else return the ID 
            if no label was set
            </summary>
            <param name="schema">The Graph (or GraphSchema) from which to retrieve the metadata.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategory.#ctor(System.String,System.Func{Microsoft.VisualStudio.GraphModel.GraphMetadata})">
            <summary>
            Private constructor for GraphCategory
            </summary>
            <param name="id">Unique Id</param>
            <param name="callback">The callback that can lazily create metadata for this category</param>
            <exception cref="T:System.ArgumentNullException">thrown if id is null</exception>
            <exception cref="T:System.InvalidOperationException">thrown if id is empty string</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategory.ToString">
            <summary>
            The Id of the category
            </summary>
            <remarks>Use the Id as the textual representation for the GraphCategory</remarks>
            <returns>The category Id</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategory.IsBasedOn(Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Determines if this category is based upon the specified category. Walks the entire
            "BasedOn" chain looking for the specified category.
            </summary>
            <param name="baseCategory">The base category to check</param>
            <returns>True if this category is based on the specified category, including if this category IS the base category</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategory.GetHashCode">
            <summary>
            The hash code of the category
            </summary>
            <returns>The hash code of the graph category Id</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategory.Equals(System.Object)">
            <summary>
            Determines of a passed in category is equivalent to this one
            </summary>
            <remarks>Graph category identity is the Id.</remarks>
            <param name="obj">The category to compare against</param>
            <returns>True if the categories are the same, false otherwise</returns>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphCategoryCollection._graphCategories">
            <summary>
            Storage of all registered GraphCategory objects
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategoryCollection.System#Collections#Generic#IEnumerable{Microsoft#VisualStudio#GraphModel#GraphCategory}#GetEnumerator">
            <summary>
            Returns an enumerator for the graph categories
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategoryCollection.GetEnumerator">
            <summary>
            Returns an enumerator for the graph categories
            </summary>
            <returns></returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCategoryCollection.Count">
            <summary>
            Gets the number of elements contained in the collection
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCategoryCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the collection is Read-only
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategoryCollection.Add(Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Adds an item to the collection
            </summary>
            <param name="item">The item to add</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategoryCollection.Clear">
            <summary>
            Removes all items from the collection.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategoryCollection.Contains(Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Determines whether the collection contains a specific value.
            </summary>
            <param name="item">The item to search for.</param>
            <returns>True if item is found in the collection otherwise, false.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategoryCollection.CopyTo(Microsoft.VisualStudio.GraphModel.GraphCategory[],System.Int32)">
            <summary>
            Copies the elements of the collection to a System.Array, starting at a particular System.Array index
            </summary>
            <param name="array">The one-dimensional System.Array that is the destination of the elements
                copied from collection. The System.Array must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in array at which copying begins.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategoryCollection.Remove(Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Removes the first occurrence of a specific object from the collection
            </summary>
            <param name="item">The object to remove from the collection</param>
            <returns>True if item was successfully removed from the collection
                otherwise, false. This method also returns false if item is not found in
                the original collection.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategoryCollection.Copy(Microsoft.VisualStudio.GraphModel.GraphCategoryCollection,Microsoft.VisualStudio.GraphModel.Graph,Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Copy the GraphCategories from one collection to another one, including the metadata in the source graph to the destination graph.
            </summary>
            <param name="other">The collection to copy from</param>
            <param name="sourceMetadataGraph">The Graph from which to retrieve the additional metadata for this GraphCategory.</param>
            <param name="destinationMetadataGraph">The Graph to which to stopre the additional metadata for this GraphCategory, onced copied.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategoryCollection.AddNewCategory(System.String)">
            <summary>
            Registers a new GraphCategory with default metadata creator.
            </summary>
            <param name="id">Unique Id of the GraphCategory</param>
            <returns>The newly registered GraphCategory object</returns>
            <exception cref="T:System.ArgumentNullException">thrown if id is null</exception>
            <exception cref="T:System.InvalidOperationException">thrown if id is empty string</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategoryCollection.AddNewCategory(System.String,System.Func{Microsoft.VisualStudio.GraphModel.GraphMetadata})">
            <summary>
            Registers a new GraphCategory
            </summary>
            <param name="id">Unique Id of the GraphCategory</param>
            <param name="callback">The callback that can lazily create metadata for this category</param>
            <returns>The newly registered GraphCategory object</returns>
            <exception cref="T:System.ArgumentNullException">thrown if id is null</exception>
            <exception cref="T:System.InvalidOperationException">thrown if id is empty string</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategoryCollection.GetCategoryPrivate(System.String)">
            <summary>
            Gets the GraphCategory with the specified id
            </summary>
            <param name="id">Unique Id of the GraphCategory to get</param>
            <returns>The matching GraphCategory, or null if not found</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategoryCollection.GetCategoriesPrivate(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Gets the GraphCategories with the specified ids
            </summary>
            <param name="idList">Unique ids of the GraphCategories to get</param>
            <returns>The matching GraphCategories</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphCategoryCollection.GetCategoriesBasedOn(Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Gets an enumeration of all categories which are based upon the specified base category.
            </summary>
            <param name="baseCategory">Base category to search with</param>
            <returns>The categories which are based upon the base category, includes the base category itself</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphCommonSchema">
            <summary>
            Class which defines a set of commonly used GraphProperty objects
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.BaseUri">
            <summary>
            The location of the graph.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.DelayedChildNodesState">
            <summary>
            State of child nodes of this group node that are fetched in a delayed fashion.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.DelayedCrossGroupLinksState">
            <summary>
            State of cross group links of this node that are fetched in a delayed fashion.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.IsDragSource">
            <summary>
            Marks DGML node with special attribute indicating whether it was part of the drag source in a drag drop operation.
            No need to localize the metadata because this property is not browsable.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.IsCursorContainingMethod">
            <summary>
            Marks DGML node with special attribute indicating whether it was a containing method of the drag source in a drag drop operation.
            No need to localize the metadata because this property is not browsable.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.IsEnabled">
            <summary>
            The Enabled property is on a Conditional Style.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.Expression">
            <summary>
            The Expression property is used by Condition and Setter elements.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.Property">
            <summary>
            The property property is used by Setter elements.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.TargetType">
            <summary>
            The TargetType property is used by Condition and Setter elements.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.Value">
            <summary>
            The Value property is used by Setter elements.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.ToolTip">
            <summary>
            The ToolTip property is used by Style elements.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.GroupLabel">
            <summary>
            The GroupLabel property is used by Style elements.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.ValueLabel">
            <summary>
            The ValueLabel property is used by Style elements.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.Group">
            <summary>
            Defines whether an object is a Group and what state the Group is in: Expanded or Collapsed
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.IsContainment">
            <summary>
            IsContainment property
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.IsPseudo">
            <summary>
             IsPseudo
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.IsTag">
            <summary>
            The IsTag property is used to mark special GraphCategories that are used in the custom categories menu.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.Label">
            <summary>
            Defines a displayable label for an annotatable object
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.SourceNode">
            <summary>
            Defines a source node of a link
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.TargetNode">
            <summary>
            Defines a target node of a link
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.UniqueId">
            <summary>
            Defines the unique ID for an annotatable object
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.Visibility">
            <summary>
            Defines whether an object is to be made visible on screen
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.Contains">
            <summary>
            Defines a category for use in creating containment links.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphCommonSchema.Version">
            <summary>
            Version number used by change tracking
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphGroupStyle">
            <summary>
            Specifies the display state of an element.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphGroupStyle.Expanded">
            <summary>
            Display all child elements
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphGroupStyle.Compact">
            <summary>
            The Group is reduce in size and the child nodes needs to be rendering them self in a more compact style
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphGroupStyle.Collapsed">
            <summary>
            Collapse the group leaving only the caption and the chevron
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.DelayedDataState">
            <summary>
            Enum for properties representing states of data that can get fetched into the graph in a delayed fashion (on-demand or asynchronously).
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.DelayedDataState.Unspecified">
            <summary>
            Not specified.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.DelayedDataState.NotFetched">
            <summary>
            Data not fetched into the graph yet.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.DelayedDataState.Fetched">
            <summary>
            Data has been fetched into the graph.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.DelayedDataState.Incomplete">
            <summary>
            Data has been fetched, but is incomplete due to some change.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphDataObject">
            <summary>
            This class provides IDataObject support for exchanging DGML data via the clipboard and drag/drop.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphDataObject._customFormats">
            <summary>
            Optional extra information provided via SetData.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphDataObject._formats">
            <summary>
            The list of formats contained in this data object.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphDataObject._dgml">
            <summary>
            The DGML we are exchanging
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphDataObject._sourceId">
            <summary>
            A guid that identifies the source graph.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.#ctor(System.String,System.Guid)">
            <summary>
            Construct new GraphDataObject that publishes AllFormats.
            </summary>
            <param name="dgml">The DGML being exchanged</param>
            <param name="sourceId">The source Id of the Graph.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.#ctor(System.String,System.Guid,System.Windows.DataFormat[])">
            <summary>
            Construct new GraphDataObject that publishes specific set of DGML formats
            </summary>
            <param name="dgml">The DGML being exchanged</param>
            <param name="sourceId">The source Id of the Graph.</param>
            <param name="formats">The DataFormats to publish, for example, you could specify GraphDataObject.DgmlFormat</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.#ctor(Microsoft.VisualStudio.GraphModel.Graph,System.Guid)">
            <summary>
            Construct new GraphDataObject.
            </summary>
            <param name="graph">The graph being exchanged</param>
            <param name="sourceId">The source Id of the Graph.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.Create(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphNode},System.Guid,System.Int32)">
            <summary>
            Create an IDataObject for exchanging the selected nodes (and all their descendants).
            </summary>
            <param name="selection">The nodes to include (plus all their descendants)</param>
            <param name="sourceGraphId">The unique id of the source Graph object</param>
            <param name="levels">The number of links away from each selected object to include in the drag/drop subset.
            Specifying something greater than zero gives the drop target enough information to know how to connect up
            the target graph to the dropped nodes</param>
            <returns>An IDataObject or null if the selection is empty</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.Create(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphNode},System.Guid,System.Int32,System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Create an IDataObject for exchanging the selected nodes (and all their descendants).
            </summary>
            <param name="selection">The nodes to include (plus all their descendants)</param>
            <param name="sourceGraphId">The unique id of the source Graph object</param>
            <param name="levels">The number of links away from each selected object to include in the drag/drop subset.
            Specifying something greater than zero gives the drop target enough information to know how to connect up
            the target graph to the dropped nodes</param>
            <param name="optionalAttributes">Option dgml attributes that will be persisted along with the selected nodes</param>
            <returns>An IDataObject or null if the selection is empty</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.Create(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphNode},System.Guid,System.Int32,System.Windows.DataFormat[])">
            <summary>
            Create an IDataObject for exchanging the selected nodes (and all their descendants).
            </summary>
            <param name="selection">The nodes to include (plus all their descendants)</param>
            <param name="sourceGraphId">The unique id of the source Graph object</param>
            <param name="levels">The number of links away from each selected object to include in the drag/drop subset.
            Specifying something greater than zero gives the drop target enough information to know how to connect up
            the target graph to the dropped nodes</param>
            <param name="formats">The DGML formats to publish in the IDataObject</param>
            <returns>An IDataObject or null if the selection is empty</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.Create(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphNode},System.Guid,System.Int32,System.Windows.DataFormat[],System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Create an IDataObject for exchanging the selected nodes (and all their descendants).
            </summary>
            <param name="selection">The nodes to include (plus all their descendants)</param>
            <param name="sourceGraphId">The unique id of the source Graph object.</param>
            <param name="levels">The number of links away from each selected object to include in the drag/drop subset.
            Specifying something greater than zero gives the drop target enough information to know how to connect up
            the target graph to the dropped nodes</param>
            <param name="formats">The DGML formats to publish in the IDataObject</param>
            <param name="optionalGraphProperties">Option dgml attributes that will be persisted along with the selected nodes</param>
            <returns>An IDataObject or null if the selection is empty</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphDataObject.AllDgmlFormats">
            <summary>
            Get list of all DGML formats, including Text formats.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphDataObject.GraphFormat">
            <summary>
            Get the format representing a Graph object.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphDataObject.DgmlFormat">
            <summary>
            Get the format representing DGML text.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphDataObject.GetSourceId">
            <summary>
            Get the Guid that represents the source of the drag/drop operation.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphDataObject.Namespace">
            <summary>
            The xml namespace used for serialization and dgml identification.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.GetClipboardData">
            <summary>
            Get the XML from the clipboard.
            </summary>
            <returns>The data for the data object</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.GetData(System.Windows.IDataObject)">
            <summary>
            Get the DGML in the given data object.
            </summary>
            <param name="data">The data object from which to get data</param>
            <returns>The dgml from the data object if the format is recognized, null otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.IsClipboardDgml">
            <summary>
            Determine if the clipboard has a supported format
            </summary>
            <returns>True if the clipboard's data object contains a supported format</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.IsGraphData(System.Windows.IDataObject)">
            <summary>
            Determines if the data object has a supported format
            </summary>
            <param name="data">The IDataObject to check</param>
            <returns>True if the data contains a supported format.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.IsDgml(System.String)">
            <summary>
            Determines if the given xml starts with DirectedGraph
            </summary>
            <param name="markup">The xml to examine</param>
            <remarks>All exceptions are caught and false returned if there are any errors trying
            to determine if the xml is dgml</remarks>
            <returns>True if DirectedGraph is the first element in the xml, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.HasXmlTokens(System.String)">
            <summary>
            Determine if the xml string passed in has xml tokens
            </summary>
            <param name="markup">The xml to examine</param>
            <returns>True if there appears to be xml tokens in the string passed in</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.GetSubset(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphNode},System.Int32)">
            <summary>
            Helper method that returns a new Graph containing all the selected nodes plus
            links and linked nodes up to the specified number of levels of indirection
            </summary>
            <param name="selection">The selected nodes to clone</param>
            <param name="levels">The number of levels of indirection to include in the new graph</param>
            <returns>New Graph</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.GetSourceGuid(System.Windows.IDataObject)">
            <summary>
            Gets the source guid for the given data object.
            </summary>
            <returns>The source guid, or an empty guid is no source guid was present.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.GetData(System.String,System.Boolean)">
            <summary>
            Gets data for the passed in format
            </summary>
            <remarks>
            If the format asked for is a graph, the graph object is returned without serialization.
            Otherwise, if the format asked for is supported, the data is returned as a string.
            </remarks>
            <param name="format">The desired format of the data</param>
            <param name="autoConvert">Ignored</param>
            <returns>The data if the format is supported, null otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.GetData(System.Type)">
            <summary>
            Gets the data for the passed in format
            </summary>
            <remarks>
            If type passed in is a string, then the graph is returned as an xml string.
            If the type passed in is a Graph, then the graph object is returned without any serialization
            </remarks>
            <param name="format">The format desired</param>
            <returns>The data for this object if the format type is supported, null otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.GetData(System.String)">
            <summary>
            Gets the data for the passed in format
            </summary>
            <param name="format">The desired format</param>
            <returns>The data if the foramt is supported</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.GetDataPresent(System.String,System.Boolean)">
            <summary>
            Determines if the passed in format is supported by this data object
            </summary>
            <param name="format">The desired format</param>
            <param name="autoConvert">Ignored</param>
            <returns>True if the format is supported, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.GetDataPresent(System.Type)">
            <summary>
            Determines if the passed in format is supported
            </summary>
            <param name="format">The type representing the format desired</param>
            <returns>True if the format is supported, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.GetDataPresent(System.String)">
            <summary>
            Determines if the passed in format is supported
            </summary>
            <param name="format">The format desired</param>
            <returns>True if the format is supported, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.GetFormats(System.Boolean)">
            <summary>
            Gets the formats supported by this data object
            </summary>
            <param name="autoConvert">Ignored</param>
            <returns>The formats supported</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.GetFormats">
            <summary>
            Gets the formats supported by this data object
            </summary>
            <returns>The formats supported</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.SetData(System.String,System.Object,System.Boolean)">
            <summary>
            Sets data into the data object - Not Implemented
            </summary>
            <param name="format">Ignored</param>
            <param name="data">Ignored</param>
            <param name="autoConvert">Ignored</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.SetData(System.Type,System.Object)">
            <summary>
            Sets data into the data object - Not Implemented
            </summary>
            <param name="format">Ignored</param>
            <param name="data">Ignored</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.SetData(System.String,System.Object)">
            <summary>
            Sets data into the data object - Not Implemented
            </summary>
            <param name="format">Ignored</param>
            <param name="data">Ignored</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphDataObject.SetData(System.Object)">
            <summary>
            Sets data into the data object - Not Implemented
            </summary>
            <param name="data">Ignored</param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphEnumerable">
            <summary>
            Extension methods for graph types.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphEnumerable.AsNodes(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphObject})">
            <summary>
            Converts the given GraphObjects into GraphNodes.  Groups are converted to nodes.
            No links are returned.
            </summary>
            <returns>All the nodes in the collection.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphEnumerable.GetGroups(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphObject})">
            <summary>
            From the list of GraphObject get all those that are groups
            </summary>
            <param name="objects"></param>
            <returns></returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphException">
            <summary>
            An exception that is thrown when a parsing error occurs during a GraphNodeId.Parse
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            ISerializable implementation - Gets the data for the object.
            Serialize the graph into DGML
            </summary>
            <param name="info">Serialization info to add to</param>
            <param name="context">Ignored</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphException.#ctor(System.Char[],System.Int32,System.String)">
            <summary>
            Create a GraphException
            </summary>
            <param name="parseBuffer">The parse buffer to report on</param>
            <param name="position">The position at which the exception occured</param>
            <param name="message">The message to display with the exception</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphException.Message">
            <summary>
            Get the message
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphGroup">
            <summary>
            GraphGroup is a wrapper on Nodes that have IsGroup=true.  They do not have a separate identity - they use
            the identity of the node that they wrap.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroup.OnPropertyChanged(System.String)">
            <summary>
            Raises the property changed events for both the node and the group.
            </summary>
            <remarks>Redirects the property changed events to the wrapped node.</remarks>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroup.OnCategoryChanged(Microsoft.VisualStudio.GraphModel.GraphCategory,Microsoft.VisualStudio.GraphModel.GraphCategoryChangeType)">
            <summary>
            Raises the property changed events for both the node and the group.
            </summary>
            <remarks>Redirects the category changed events to the wrapped node.</remarks>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroup.InitializeChildrenHierarchy">
            <summary>
            Initialize, or re-initialize the children hierarchy.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphGroup.ContainmentLinks">
            <summary>
            The containment links that are contained within this group.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphGroup.IsEmpty">
            <summary>
            Find out if the group contains any child nodes or groups.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphGroup.IsExpanded">
            <summary>
            Get whether this node is expanded.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphGroup.ContentVisibility">
            <summary>
            Get whether the content inside this node is visible or not.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphGroup.ChildNodes">
            <summary>
            This is a collection of child nodes (not including nodes that have IsGroup set to true).
            A child node is one that is linked to a parent group via an IsContainment link.
            This collection is automatically maintained as nodes are added and removed from the graph
            and as IsGroup properties are changed and as containment links are added or removed.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphGroup.ChildGroups">
            <summary>
            This is a collection of child GraphGroups.  A child group is one that is linked to a parent 
            group via an IsContainment link.
            This collection is automatically maintained as nodes are added and removed from the graph
            and as IsGroup properties are changed and as containment links are added or removed.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphGroup.Parents">
            <summary>
            The parents of this group.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroup.GetDescendants">
            <summary>
            Return all descendant nodes contained by this group hierarchy.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroup.GetDescendantGroups">
            <summary>
            Return all descendant groups contained by this group hierarchy, including this group.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroup.GetAncestors">
            <summary>
            Returns all the parent ancestors of this group, excluding this group.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroup.InternalRemoveChild(Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Internal use only override for circular containment issues.
            </summary>
            <param name="node"></param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.IReadOnlyCollection`1">
            <summary>
            Simple interface that exposes a Count property over a collection
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphGroupCollection">
            <summary>
            This class provides a read only collection of GraphGroups.
            GraphGroup is a wrapper on Nodes that have IsGroup=true.  They do not have a separate identity - they use
            the identity of the node that they wrap which is why this collection provides helper methods that take
            the inner GraphNode that the GraphGroup wraps.
            This class does not preserve the order in which you added the groups, so when
            you enumerate them you will get them back in a random order.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphGroupCollection._parent">
            <summary>
            The parent group, if any.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphGroupCollection._groups">
            <summary>
            dictionary of unique node id =&gt; group
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphGroupCollection._graph">
            <summary>
            The containing Graph object.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupCollection.#ctor(Microsoft.VisualStudio.GraphModel.Graph,Microsoft.VisualStudio.GraphModel.GraphGroup)">
            <summary>
            Construct a new collection of groups.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupCollection.GroupsConflictResolver(Microsoft.VisualStudio.GraphModel.GraphGroup,Microsoft.VisualStudio.GraphModel.GraphGroup)">
            <summary>
            Resolve conflicts when committing changes to the groups dictionary.
            </summary>
            <param name="currentValue">Ignored</param>
            <param name="newValue">Ignored</param>
            <returns>Nothing - this always throws a TransactionAbortedException since conflict resolution isn't supported</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphGroupCollection.Count">
            <summary>
            Return the number of groups in the collection.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupCollection.Add(Microsoft.VisualStudio.GraphModel.GraphGroup)">
            <summary>
            Add without throwing exceptions.
            </summary>
            <param name="group">The new group to add</param>
            <returns>The newly added group</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupCollection.Get(System.String)">
            <summary>
            Gets the group with the specified id
            </summary>
            <param name="id">The Id of the group to get</param>
            <returns>The group or null if it does not exist</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupCollection.Get(Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Gets the group for the specified node
            </summary>
            <param name="node">The node to get group wrapper for</param>
            <returns>The group or null if it does not exist</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupCollection.Get(Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Gets the group with the specified id
            </summary>
            <param name="id">The Id of the group to get</param>
            <returns>The group or null if it does not exist</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupCollection.Contains(Microsoft.VisualStudio.GraphModel.GraphGroup)">
            <summary>
            Determines if the given group is in this collection
            </summary>
            <param name="item">The group to search for</param>
            <returns>True if the given group is in this collection, false otherwise</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphGroupCollection.Graph">
            <summary>
            Gets the Graph associated with this nodes collection
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphGroupCollection.Owner">
            <summary>
            Gets the Graph associated with this nodes collection
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphGroupCollection.Parent">
            <summary>
            Gets the Group that has this collection.
            Null if this collection is contained by the Graph.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupCollection.Remove(Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Remove the specified group
            </summary>
            <param name="id">The Id of the group to remove</param>
            <returns>The group removed, or null if it does not exist</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupCollection.Remove(Microsoft.VisualStudio.GraphModel.GraphGroup)">
            <summary>
            Removes the group from the collection.
            </summary>
            <param name="group">
            The object to remove from the collection.
            </param>
            <returns>
            True if item was successfully removed.
            </returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupCollection.InternalRemove(Microsoft.VisualStudio.GraphModel.GraphGroup)">
            <summary>
            Just remove the group from the collection, do not do any book keeping.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupCollection.Clear">
            <summary>
            Remove all groups in the collection
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupCollection.GetEnumerator">
            <summary>
            Gets the typed enumerator for this collection
            </summary>
            <returns>The enumerator</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Gets the enumerator for this collection
            </summary>
            <returns>The enumerator</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphGroupManager">
            <summary>
            This class is responsible for managing the GraphGroup hierarhcy.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphGroupManager._groups">
            <summary>
            The collection of top level groups
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphGroupManager._owner">
            <summary>
            The owning graph object
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphGroupManager._groupmap">
            <summary>
            These lazy constructed properties are used by GraphGroupCollection for group synchronization.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphGroupManager._allgroups">
            <summary>
            The transacted collection of all groups (we need this so we can do required book keeping during rollback since
            this collection will be notified on rollback).
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphGroupManager._allContainmentLinks">
            <summary>
            All the containment links we've found in the graph.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphGroupManager._dirtyGroups">
            <summary>
            List of groups that need to have their hierarchy recomputed.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphGroupManager._dirtyLinks">
            <summary>
            List of links that have changed since we last computed the group hierarhcy.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphGroupManager.AllGroups">
            <summary>
            Every group in the graph regardless of visibility or nesting
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupManager.FindGroup(Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Return the GraphGroup wrapper for the given "IsGroup" node.
            </summary>
            <param name="node"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupManager.InternalFindGroup(Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            This internal version doesn't do any checking, which is needed during OnGraphUpdating when we are
            saving undo state, because during this time the GroupMap is out of sync.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupManager.GetContainmentClosure(Microsoft.VisualStudio.GraphModel.GraphLink,System.Boolean)">
            <summary>
            Gets all the containment links that can be rolled up inside the same group.  So those are containment links
            where the target node is not a Group.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupManager.GetContainedByClosure(Microsoft.VisualStudio.GraphModel.GraphLink,System.Boolean)">
            <summary>
            Gets all the contained by links that can be rolled up inside the same group.  So those are containment links
            where the source node is not a Group.  This method does not use AllContainmentLinks because we also want
            removed links to be considered so that ComputeGroupHierarchy marks the right dirty groups.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupManager.GetContainingGroups(Microsoft.VisualStudio.GraphModel.GraphLink)">
            <summary>
            Gets the groups contain the given link. If the source of the link is a group, then just the source is returned.
            If the source of the link is a node, then the node's parent groups are returned.
            </summary>
            <remarks>
            This is different from node.ParentGroups.
            ParentGroups would not return the source itself.
            ParentGroups might return parents from other links.
            </remarks>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupManager.ComputeGroupHierarchy">
            <summary>
            Recomute the group hierarchy based on the list of changed links and groups we have in _dirtyLinks and _dirtyGroups.
            
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupManager.BreakCircularContainment(Microsoft.VisualStudio.GraphModel.GraphNode,Microsoft.VisualStudio.GraphModel.GraphGroup)">
            <summary>
            Move the given child to the new parent group.
            </summary>
            <param name="child">The child to move</param>
            <param name="newParent">The new parent</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupManager.GetInverseContainmentClosure(System.Collections.Generic.ISet{Microsoft.VisualStudio.GraphModel.GraphNode})">
            <summary>
            This method implements the inverse of GraphGroup.GetContainmentClosure.
            </summary>
            <param name="nodes">The nodes we are looking for container for</param>
            <returns>The chosen parent that all these nodes should get sucked into via containment closure rules</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupManager.CheckCircularContainment">
            <summary>
            Check for circular containment in groups, and if found, promote each group in the cycle to the same parent level rather
            than one of them randomly containing the other.  This makes the group hierarchy more stable in the face of circular containment.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphGroupManager.OnBeforeCommit">
            <summary>
            Handle notification that a transaction is about to commit.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphLink">
            <summary>
            Represents a link in the directed graph
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphLink.Label">
            <summary>
            Displayable label for the link
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphLink._cachedSource">
            <summary>
            The Id for the node. This is redundant to GraphProperties.SourceNode, but
            provider faster access on a critical path.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphLink._cachedTarget">
            <summary>
            The Id for the node. This is redundant to GraphProperties.TargetNode, but
            provider faster access on a critical path.
            </summary>        
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphLink.Source">
            <summary>
            The Link source
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphLink.Target">
            <summary>
            The Link target
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphLink.Index">
            <summary>
            Get the optional Index of this link.  Default is zero.  This index can be specified when you create
            a link, providing different index values makes it possible to create multiple links between the same source and target nodes.
            To get multilinks the index only needs to be unique for the same source and target nodes.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLink.#ctor(Microsoft.VisualStudio.GraphModel.Graph,Microsoft.VisualStudio.GraphModel.GraphNode,Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Constructs a link
            </summary>
            <param name="owner">The Graph that owns this link</param>
            <param name="source">The source node</param>
            <param name="target">The target node</param>
            <exception cref="T:System.ArgumentNullException">Thrown if source is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if target is null</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLink.#ctor(Microsoft.VisualStudio.GraphModel.Graph,Microsoft.VisualStudio.GraphModel.GraphNode,Microsoft.VisualStudio.GraphModel.GraphNode,System.String,Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Constructs a link
            </summary>
            <param name="owner">The Graph that owns this link</param>
            <param name="source">The source node</param>
            <param name="target">The target node</param>
            <param name="label">The displayable label</param>
            <param name="category">An initial category to add to the link</param>
            <exception cref="T:System.ArgumentNullException">Thrown if source is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if target is null</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLink.#ctor(Microsoft.VisualStudio.GraphModel.Graph,Microsoft.VisualStudio.GraphModel.GraphNode,Microsoft.VisualStudio.GraphModel.GraphNode,System.Int32)">
            <summary>
            Constructs a multilink by providing the optional index value
            </summary>
            <param name="owner">The Graph that owns this link</param>
            <param name="source">The source node</param>
            <param name="target">The target node</param>
            <param name="index">The index of this multilink, relative to the given source and target</param>
            <exception cref="T:System.ArgumentNullException">Thrown if source is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if target is null</exception>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphLink.IsLinkAndNodesVisible">
            <summary>
            A link is "visible" when it is visible and its source and target nodes are visible as well.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphLink.IsContainment">
            <summary>
            Get whether this link is a Containment link or not (has the property IsContainment=true).
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLink.ToString">
            <summary>
            A more human friendly default string representation of a Link object
            </summary>
            <returns>String caption of this node</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLink.OnCategoryChanged(Microsoft.VisualStudio.GraphModel.GraphCategory,Microsoft.VisualStudio.GraphModel.GraphCategoryChangeType)">
            <summary>
            Override that notifies the GraphGroupCollection any time a GraphCategory has changed on this link
            Notify the GraphGroupCollection any time a GraphCategory has changed on this link
            because this may affect the IsContainment behavior of this link which affects the structure of
            the GraphGroup hierarchy.
            </summary>
            <param name="category">The GraphCategory that was changed</param>
            <param name="changeType">The type of change that has happened</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLink.FindRelatedLinks(Microsoft.VisualStudio.GraphModel.GraphSearchDirection,System.Predicate{Microsoft.VisualStudio.GraphModel.GraphLink},System.Predicate{Microsoft.VisualStudio.GraphModel.GraphLink})">
            <summary>
            Finds the links that match the acceptLink predicate.  They are found by doing a breadth first search along links
            matching the traverseLink predicate, in the Source or Target direction designated by the searchDirection.
            </summary>
            <returns>The links accepted by the traversal. Including the original link.</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphLink.IsChildLink">
            <summary>
            Return true if the source of the link is a group and the target of this link is a child of that group
            and this link has IsContainment=true.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLink.Remove">
            <summary>
            Remove this link from the graph 
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphLinkCollection">
            <summary>
            This class manages a collection of Links.
            This class does not preserve the order in which you added the links, so when
            you enumerate them you will get them back in a random order.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.LinkKey">
            <summary>
            struct used as the key for links in a dictionary
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.LinkKey._source">
            <summary>
            source name
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.LinkKey._target">
            <summary>
            target name
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.LinkKey._index">
            <summary>
            the multi-link index.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.LinkKey._hashCode">
            <summary>
            hash code
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.LinkKey.#ctor(Microsoft.VisualStudio.GraphModel.GraphLink)">
            <summary>
            constructor
            </summary>
            <param name="link">Link used to construct the LinkKey</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.LinkKey.#ctor(Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphNodeId,System.Int32)">
            <summary>
            constructor
            </summary>
            <param name="source">Source</param>
            <param name="target">Target</param>
            <param name="index">Multi-link index</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.LinkKey.ComputeHashCode">
            <summary>
            computes the hash code
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.LinkKey.Equals(Microsoft.VisualStudio.GraphModel.GraphLinkCollection.LinkKey)">
            <summary>
            Determines equality
            </summary>
            <param name="other">other object to test against</param>
            <returns>True if equal, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.LinkKey.GetHashCode">
            <summary>
            Gets hash code for this struct
            </summary>
            <returns>hash code</returns>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphLinkCollection._links">
            <summary>
            dictionary of unique link id to link
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphLinkCollection._graph">
            <summary>
            The containing graph object.
            </summary>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Added">
            <summary>
            This event is raised immediately when a new node is added to the collection.
            </summary>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Removed">
            <summary>
            This event is raised immediately when a node is removed from the collection.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.#ctor(Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Construct new collection of links.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the System.Collections.Generic.ICollection is read-only.
            </summary>
            <value>
            True if the System.Collections.Generic.ICollection is read-only; otherwise, false.
            </value>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.CopyTo(Microsoft.VisualStudio.GraphModel.GraphLink[],System.Int32)">
            <summary>
            Copies the elements of the System.Collections.Generic.ICollection to an
            System.Array, starting at a particular System.Array index.
            </summary>
            <param name="array">
            The one-dimensional System.Array that is the destination of the elements
            copied from System.Collections.Generic.ICollection. The System.Array must
            have zero-based indexing.
            </param>
            <param name="arrayIndex">
            The zero-based index in array at which copying begins.
            </param>
            <exception cref="T:System.ArgumentNullException">array is null</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">arrayIndex is less than 0.</exception>
            <exception cref="T:System.ArgumentException">
            array is multidimensional.-or-The number of elements in the source System.Collections.Generic.ICollection
            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:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.LinksConflictResolver(Microsoft.VisualStudio.GraphModel.GraphLink,Microsoft.VisualStudio.GraphModel.GraphLink)">
            <summary>
            resolve conflicts when committing changes to the links dictionary.
            </summary>
            <param name="currentValue">Ignored</param>
            <param name="newValue">Ignored</param>
            <returns>Throws a TransactionAbortedException in all cases because a link conflict like this will corrupt the graph</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Count">
            <summary>
            Return the number of links in the collection.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Add(Microsoft.VisualStudio.GraphModel.GraphLink)">
            <summary>
            Adds a link to the graph, or merge it with an existing Link object
            </summary>
            <param name="item">Link to add</param>
            <exception cref="T:System.ArgumentNullException">thrown if link is null</exception>
            <exception cref="T:System.InvalidOperationException">thrown if source of link is not in the graph</exception>
            <exception cref="T:System.InvalidOperationException">thrown if target of link is not in the graph</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Add(Microsoft.VisualStudio.GraphModel.GraphLink,Microsoft.VisualStudio.GraphModel.GraphLink@)">
            <summary>
            Adds a link to the graph, or merge it with an existing Link object
            </summary>
            <param name="link">Link to add</param>
            <param name="result">The link that was actually added which may be different from the parameter passed in</param>
            <exception cref="T:System.ArgumentNullException">thrown if link is null</exception>
            <exception cref="T:System.InvalidOperationException">thrown if source of link is not in the graph</exception>
            <exception cref="T:System.InvalidOperationException">thrown if target of link is not in the graph</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Add(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphLink})">
            <summary>
            Add all the links in the given set.
            </summary>
            <param name="links">The set of links to add.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.GetOrCreate(Microsoft.VisualStudio.GraphModel.GraphNode,Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Gets the link from the specified source to the specified target node.
            If not found, a new link will be created.
            </summary>
            <param name="source">Source node</param>
            <param name="target">Target node</param>
            <returns>The Link that was found or created</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.GetOrCreate(Microsoft.VisualStudio.GraphModel.GraphNode,Microsoft.VisualStudio.GraphModel.GraphNode,System.String,Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Gets the link from the specified source to the specified target node.
            If not found, a new link will be created.
            </summary>
            <param name="source">The source node</param>
            <param name="target">The target node</param>
            <param name="label">The displayable label of the link</param>
            <param name="category">An initial category to add to this link</param>
            <returns>The Link that was found or created</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.GetOrCreate(System.String,System.String)">
            <summary>
            Attempts to get the link with the specified source, target. 
            If not found, a new link will be created.
            It also creates the source and target Node if those are not already defined (and these
            are created with no category).
            </summary>
            <param name="sourceId">The source node</param>
            <param name="targetId">The target node</param>
            <returns>The Link that was found or created</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.GetOrCreate(System.String,System.String,System.Int32)">
            <summary>
            Attempts to get the link with the specified source, target and multilink index
            If not found, a new link will be created.
            </summary>
            <param name="sourceId">The source node id</param>
            <param name="targetId">The target node id</param>
            <param name="index">The link index, which allows you to have multiple links between the same source and target node</param>
            <returns>The Link that was found or created</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.GetOrCreate(Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Attempts to get the link with the specified source, target. 
            If not found, a new link will be created.
            It also creates the source and target Node if those are not already defined (and these
            are created with no category).
            </summary>
            <param name="sourceId">The source node</param>
            <param name="targetId">The target node</param>
            <returns>The Link that was found or created</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.GetOrCreate(Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphNodeId,System.Int32)">
            <summary>
            Attempts to get the link with the specified source, target and multi-link index.
            If not found, a new link will be created.
            It also creates the source and target Node if those are not already defined (and these
            are created with no category).
            </summary>
            <param name="sourceId">The source node</param>
            <param name="targetId">The target node</param>
            <param name="index">The multi-link index</param>
            <returns>The Link that was found or created</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.GetOrCreate(System.String,System.String,System.String,Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Attempts to get the link with the specified source, target. 
            If not found, a new link will be created.
            It also adds the specified category if its not already defined.
            It also creates the source and target Node if those are not already defined (and these
            are created with no category).
            </summary>
            <param name="sourceId">The source node</param>
            <param name="targetId">The target node</param>
            <param name="label">The displayable label of the link</param>
            <param name="category">An initial category to add to this link</param>
            <returns>The Link that was found or created</returns>
            <exception cref="T:System.ArgumentNullException">thrown is sourceId or targetId is null or empty string</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.GetOrCreate(Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphNodeId,System.String,Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Attempts to get the link with the specified source, target. 
            If not found, a new link will be created.
            It also adds the specified category if its not already defined.
            It also creates the source and target Node if those are not already defined (and these
            are created with no category).
            </summary>
            <param name="sourceId">The source node</param>
            <param name="targetId">The target node</param>
            <param name="label">The displayable label of the link</param>
            <param name="category">An initial category to add to this link</param>
            <returns>The Link that was found or created</returns>
            <exception cref="T:System.ArgumentNullException">thrown is sourceId or targetId is null or empty string</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Get(System.String,System.String)">
            <summary>
            Gets the link with the specified source using node Id as strings
            </summary>
            <param name="sourceId">The source node</param>
            <param name="targetId">The target node</param>
            <returns>The Link that was found, otherwise null</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Get(System.String,System.String,System.Int32)">
            <summary>
            Gets the link with the specified source using node Id as strings and a multilink index
            </summary>
            <param name="sourceId">The source node</param>
            <param name="targetId">The target node</param>
            <param name="index">Multilink index</param>
            <returns>The Link that was found, otherwise null</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Get(Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Gets the link with the specified source using GraphNodeId
            </summary>
            <param name="sourceId">The source node</param>
            <param name="targetId">The target node</param>
            <returns>The Link that was found, otherwise null</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Get(Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphNodeId,System.Int32)">
            <summary>
            Gets the link with the specified source and target and multi-link index
            </summary>
            <param name="sourceId">The source node</param>
            <param name="targetId">The target node</param>
            <param name="index">The multi-link index</param>
            <returns>The Link that was found, otherwise null</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Get(Microsoft.VisualStudio.GraphModel.GraphNode,Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Gets the link with the specified source
            </summary>
            <param name="source">The source node</param>
            <param name="target">The target node</param>
            <returns>The Link that was found, otherwise null</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Get(Microsoft.VisualStudio.GraphModel.GraphNode,Microsoft.VisualStudio.GraphModel.GraphNode,System.Int32)">
            <summary>
            Gets the link with the specified source
            </summary>
            <param name="source">The source node</param>
            <param name="target">The target node</param>
            <param name="index">The multi-link index</param>
            <returns>The Link that was found, otherwise null</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.GetAll(Microsoft.VisualStudio.GraphModel.GraphNode,Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Gets all links between the given source and target nodes.
            Each link must have a different Index.
            </summary>
            <param name="source">The source node</param>
            <param name="target">The target node</param>
            <returns>The links connecting these nodes.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Contains(Microsoft.VisualStudio.GraphModel.GraphLink)">
            <summary>
            Determines if the given link is in this collection
            </summary>
            <param name="item">The Link to search for</param>
            <returns>True if this collection contains the given link</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Graph">
            <summary>
            Gets the Graph associated with this links collection
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Owner">
            <summary>
            Gets the Graph associated with this links collection
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Remove(System.String,System.String,Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Removes the given category from the link between source and target and if this
            is the last category, then it removes the link as well.
            </summary>
            <param name="sourceId">The source node</param>
            <param name="targetId">The target node</param>
            <param name="category">An initial category to add to the link</param>
            <returns>The Link that was removed or null if the link still has other categories</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Remove(Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Removes the given category from the link between source and target and if this
            is the last category, then it removes the link as well.
            </summary>
            <param name="sourceId">The source node</param>
            <param name="targetId">The target node</param>
            <param name="category">An initial category to add to the link</param>
            <returns>The Link that was removed or null if the link still has other categories</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Remove(Microsoft.VisualStudio.GraphModel.GraphLink)">
            <summary>
            Removes the first occurrence of a specific object from the System.Collections.Generic.ICollection.
            </summary>
            <param name="item">
            The Link to remove from the System.Collections.Generic.ICollection.
            </param>
            <returns>
            True if item was successfully removed from the System.Collections.Generic.ICollection;
            otherwise, false. This method also returns false if item is not found in
            the original System.Collections.Generic.ICollection.
            </returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Remove(Microsoft.VisualStudio.GraphModel.GraphLink,Microsoft.VisualStudio.GraphModel.GraphLink@)">
            <summary>
            Removes the first occurrence of a specific object from the System.Collections.Generic.ICollection.
            </summary>
            <param name="link">
            The Link to remove from the System.Collections.Generic.ICollection.
            </param>
            <param name="resultLink">
            The item that was removed from the System.Collections.Generic.ICollection.
            </param>
            <returns>
            True if item was successfully removed from the System.Collections.Generic.ICollection;
            otherwise, false. This method also returns false if item is not found in
            the original System.Collections.Generic.ICollection.
            </returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Remove(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphLink})">
            <summary>
            Remove all the links in the given set.
            </summary>
            <param name="links">The set of links to remove.
            This argument can be the result of a Get method.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.Clear">
            <summary>
            Remove all links in this collection
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.GetLinksTo(System.String,Microsoft.VisualStudio.GraphModel.GraphCategory[])">
            <summary>
            Get all links to the specified node id have at least one of the specified categories.
            </summary>
            <param name="nodeId">Node to find links to</param>
            <param name="categories">0 or more categories used to filter the result set. 
            If no categories provided then all links to the node are returned.</param>
            <returns>Links to the node that match the categories</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.GetLinksFrom(System.String,Microsoft.VisualStudio.GraphModel.GraphCategory[])">
            <summary>
            Get all links from the specified node id that have at least one of the specified categories.
            </summary>
            <param name="nodeId">Node to find links from.</param>
            <param name="categories">0 or more categories used to filter the result set. 
            If no categories provided then all links to the node are returned.</param>
            <returns>Links from the node that match the categories.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.GetFiltered(System.Func{Microsoft.VisualStudio.GraphModel.GraphLink,System.Boolean})">
            <summary>
            Returns all nodes in the graph that match according to the given filter
            </summary>
            <param name="filter">The filter to use to check which links to include in the result</param>
            <returns>The Links chosen by the filter</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.GetByCategory(Microsoft.VisualStudio.GraphModel.GraphCategory[])">
            <summary>
            Returns all links in the graph that have at least one of the specified categories or have inherited categories
            that are in the set.  For example, if we have a category "B" that inherits from the category "A" and we ask for
            all nodes that have a category "A" then it will return links that have either "A" or "B" categories.  However, 
            if we ask for category "B" it will only return nodes with category "B", it will not return nodes that 
            only have category "A".  In otherwords, it does not expand the search to include BasedOn categories of the given
            set, to do that you must call HasCategoryInSet with GraphCategoryMatchOption.Inherit.
            </summary>
            <param name="categories">0 or more GraphProperty objects used to filter the result set. 
            If no categories provided then all links are returned.</param>
            <returns>Links that match the categories</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.GetByProperty(Microsoft.VisualStudio.GraphModel.GraphProperty,System.Object)">
            <summary>
            Returns all links in the graph that have the specified property value.
            </summary>
            <param name="property">The property to look for.</param>
            <param name="value">The value to compare</param>
            <returns>Links that have the specified property value</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.OnAdded(Microsoft.VisualStudio.GraphModel.GraphLink)">
            <summary>
            Raise the Added event
            </summary>
            <param name="link">The link that was added</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.OnRemoved(Microsoft.VisualStudio.GraphModel.GraphLink)">
            <summary>
            Raise the Removed event
            </summary>
            <param name="link">The link that was removed</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.GetEnumerator">
            <summary>
            Gets the typed enumerator for this collection
            </summary>
            <returns>The enumerator</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphLinkCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Gets the enumerator for this collection
            </summary>
            <returns>The enumerator</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphMetadataOptions">
            <summary>
            Bit flags used to control the behavior a GraphProperty.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphMetadataOptions.Immutable">
            <summary>
            The property cannot be changed once set.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphMetadataOptions.Removable">
            <summary>
            The property can be removed after it is set. Otherwise it can only be changed, and not removed.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphMetadataOptions.Browsable">
            <summary>
            The property is visible in the UI (such as in tool tips and the property grid).
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphMetadataOptions.Serializable">
            <summary>
            The property will be serialized to DGML when the graph is serialized.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphMetadataOptions.Substitutable">
            <summary>
            Any local file paths in the property will be replaced with aliased file paths during serialization.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphMetadataOptions.Sharable">
            <summary>
            The property will be transferred along with the GraphObject when the GraphObject is being copied to another graph.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphMetadataOptions.Undoable">
            <summary>
            The property might not be serializble, but it needs to be saved on the undo stack and made undoable.
            Serializable is automatically also undoable, but you might also want properties that are not serializable
            but are undoable.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphMetadataOptions.Default">
            <summary>
            The default set of metadata options. A property with these options
            will be serializable, removable, browsable (shows up in the UI), and sharable.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphMetadata">
            <summary>
            This class is used to provide more information about a GraphProperty, including
            localized strings and flags for controlling how the property appears in a Property Grid window.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphMetadata._label">
            <summary>
            Label of the GraphProperty
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphMetadata._description">
            <summary>
            description of the GraphProperty
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphMetadata._group">
            <summary>
            Group for browsing properties in a Property Grid.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphMetadata._defaultValue">
            <summary>
            Default value for the property
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphMetadata._options">
            <summary>
            flags to control how annotations of this GraphProperty behave
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphMetadata.Label">
            <summary>
            Displayable label of this GraphProperty
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphMetadata.Description">
            <summary>
            Description of this GraphProperty
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphMetadata.Group">
            <summary>
            For grouping this Property in a Property Grid.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphMetadata.DefaultValue">
            <summary>
            Default value
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphMetadata.Options">
            <summary>
            Flags that control how annotations of this metadata behaves.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphMetadata.Container">
            <summary>
            The object that this metadata describes.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphMetadata.#ctor(System.String,System.String,System.String,Microsoft.VisualStudio.GraphModel.GraphMetadataOptions)">
            <summary>
            Construct a new GraphPropertyMetadata object.
            </summary>
            <param name="label">Localized label</param>
            <param name="description">Localized description</param>
            <param name="group">Localized category for grouping in a property grid window</param>
            <param name="options">Flags for this GraphProperty</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphMetadata.#ctor(Microsoft.VisualStudio.GraphModel.GraphMetadataOptions)">
            <summary>
            Construct a new GraphPropertyMetadata object.
            </summary>
            <param name="options">Flags for this GraphProperty</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphMetadata.#ctor(System.Object,Microsoft.VisualStudio.GraphModel.GraphMetadataOptions)">
            <summary>
            Construct a new GraphPropertyMetadata object.
            </summary>
            <param name="defaultValue">The default value for this property</param>
            <param name="options">Flags for this GraphProperty</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphMetadata.Copy">
            <summary>
            Make a copy of the graph metadata.
            </summary>
            <returns>A clone of this GraphMetadata</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphMetadata.Merge(Microsoft.VisualStudio.GraphModel.GraphObject)">
            <summary>
            Copy any new properties from the given metadata, keeping existing
            property values and categories.
            </summary>
            <param name="other">The metadata to merge</param>
            <returns>True if this metadata was changed.</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphMetadata.IsRemovable">
            <summary>
            Return true if the property is removable.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphMetadata.IsSerializable">
            <summary>
            Return true if the property is serializable
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphMetadata.IsSubstitutable">
            <summary>
            Return true if the property is serializable and Aliasing is allowed
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphMetadata.IsWriteOnce">
            <summary>
            Return true if the property is write once
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphMetadata.IsBrowsable">
            <summary>
            Return true if the property is browsable
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphMetadata.IsSharable">
            <summary>
            Return true if the property is sharable
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphMetadata.IsUndoable">
            <summary>
            Return true if the property is undoable.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphMetadataContainer">
            <summary>
            An object that can have graph specific metadata associated with it.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphMetadataContainer.GetMetadata(Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Gets the graph specific metadata that describes this object.
            </summary>
            <param name="owner">The Graph from which to retrieve the metadata.</param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphNode">
            <summary>
            Represents a node in the directed graph
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNode._incomingLinks">
            <summary>
            the set of incoming links
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNode._outgoingLinks">
            <summary>
            the set of outgoing links
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNode._id">
            <summary>
            The Id for the node. This is redundant to GraphProperties.UniqueId, but
            with faster access.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNode._parents">
            <summary>
            The collection of parent GraphGroups this node belongs to.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNode.Id">
            <summary>
            Unique identifier for the node
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNode.Label">
            <summary>
            Displayable label for the node.
            If no label is defined, this returns the Id so we always have something to display to the user.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNode.IncomingLinks">
            <summary>
            Enumerable of incoming links. The order of the enumeration is random.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNode.IncomingLinkCount">
            <summary>
            Returns the count of incoming links
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNode.OutgoingLinks">
            <summary>
            Enumerable of outgoing links. The order of the enumeration is random.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNode.OutgoingLinkCount">
            <summary>
            Returns the count of outgoing links
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNode.LinkCount">
            <summary>
            Returns the count of outgoing and incoming links
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNode.AllLinks">
            <summary>
            Get the list of all links (incoming and outgoing).
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNode.IsContainer">
            <summary>
            Returns true if the node is a container of any other node.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNode.IsContained">
            <summary>
            Returns true if the node is contained by any other node.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.#ctor(Microsoft.VisualStudio.GraphModel.Graph,System.String)">
            <summary>
            Constructs a node
            </summary>
            <param name="owner">The owning graph</param>
            <param name="id">The unique node identifier</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.#ctor(Microsoft.VisualStudio.GraphModel.Graph,Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Constucts a node
            </summary>
            <param name="owner">The owning graph</param>
            <param name="id">Unique node identifier</param>
            <exception cref="T:System.ArgumentNullException">thrown if id is null</exception>
            <exception cref="T:System.ArgumentException">thrown if id is empty string</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.#ctor(Microsoft.VisualStudio.GraphModel.Graph,System.String,System.String,Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Constucts a node
            </summary>
            <param name="owner">The owning graph</param>
            <param name="id">A unique node identifier</param>
            <param name="label">The displayable caption</param>
            <param name="category">An initial category to add to the node</param>
            <exception cref="T:System.ArgumentNullException">thrown if id is null</exception>
            <exception cref="T:System.ArgumentException">thrown if id is empty string</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.#ctor(Microsoft.VisualStudio.GraphModel.Graph,Microsoft.VisualStudio.GraphModel.GraphNodeId,System.String,Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Constucts a node
            </summary>
            <param name="owner">The owning graph</param>
            <param name="id">A unique node identifier</param>
            <param name="label">The displayable label</param>
            <param name="category">An initial category to add to the node</param>
            <exception cref="T:System.ArgumentNullException">Thrown if id is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if id is empty string</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.AddLink(Microsoft.VisualStudio.GraphModel.GraphLink)">
            <summary>
            Adds a link to this node
            </summary>
            <param name="link">The Link to add</param>
            <exception cref="T:System.ArgumentNullException">Thrown if link is null</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.RemoveLink(Microsoft.VisualStudio.GraphModel.GraphLink)">
            <summary>
            Removes the specified link from this node
            </summary>
            <param name="link">The Link to remove</param>
            <exception cref="T:System.ArgumentNullException">Thrown if link is null</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.GetTargets(Microsoft.VisualStudio.GraphModel.GraphCategory[])">
            <summary>
            Gets the targets linked with this node via a link that matches at least 1 of the specified link categories.
            </summary>
            <param name="linkCategories">0 or more GraphProperty objects used to filter the result set. 
            If no categories are provided then all targets are returned.</param>
            <returns>A collection of nodes</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.GetSources(Microsoft.VisualStudio.GraphModel.GraphCategory[])">
            <summary>
            Gets the sources linked with this node via a link that matches at least 1 of the specified link categories.
            </summary>
            <param name="linkCategories">0 or more GraphProperty objects used to filter the result set. 
            If no categories are provided then all sources are returned.</param>
            <returns>A collection of nodes</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.FindRelatedContainmentNodes(Microsoft.VisualStudio.GraphModel.GraphSearchDirection)">
            <summary>
            Get related nodes that have a containment relationship to this node
            </summary>
            <param name="searchDirection">Direction - either source or target</param>
            <returns>The related nodes</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.FindRelatedContainmentNodes(Microsoft.VisualStudio.GraphModel.GraphSearchDirection,Microsoft.VisualStudio.GraphModel.GraphSearchOption,Microsoft.VisualStudio.GraphModel.GraphCategory[])">
            <summary>
            Get related nodes that have a containment relationship to this node
            </summary>
            <param name="searchDirection">Direction - either source or target</param>
            <param name="searchOption">Whether searchCategories refer to link categories or the category of the related node (either source or target depending on searchDirection)</param>
            <param name="searchCategories">The categories to search for. This can be a link category, or a source or target node category, depending on the value of searchOption and searchDirection</param>
            <returns>The related nodes</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.FindAncestors">
            <summary>
            Walks recursively up all ancestors of this node and returns the unique set.
            </summary>
            <returns>List of parents</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.FindAncestors(System.Collections.Generic.HashSet{Microsoft.VisualStudio.GraphModel.GraphNode})">
            <summary>
            Walk recursively up all ancestors of this node and add them to the given hashset. 
            </summary>
            <param name="collectionOfAncestors">List of parents</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.FindDescendants">
            <summary>
            Walk down the containment links of this node and all it's descendants and return the unique set.
            </summary>
            <returns>List of contained nodes</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.FindDescendants(System.Collections.Generic.HashSet{Microsoft.VisualStudio.GraphModel.GraphNode})">
            <summary>
            Walk down the containment links and collect all the descendant nodes and add them to the given hashset.
            </summary>
            <param name="collectionOfDescendants">List of contained nodes</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.FindAncestorGroups">
            <summary>
            Returns the list of all ancestor groups that contain this node.  This is different from
            FindAncestors in that it only returns nodes that have IsGroup=true.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.FindAllAncestorGroups(System.Collections.Generic.HashSet{Microsoft.VisualStudio.GraphModel.GraphGroup})">
            <summary>
            Populates the results hash set with all of the ancestor groups of this node.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.FindRelatedNodes(Microsoft.VisualStudio.GraphModel.GraphSearchDirection,System.Predicate{Microsoft.VisualStudio.GraphModel.GraphLink},System.Predicate{Microsoft.VisualStudio.GraphModel.GraphNode},System.Predicate{Microsoft.VisualStudio.GraphModel.GraphNode})">
            <summary>
            Finds the dgml nodes that matches the acceptNode predicate and are related in a way that matches the traverseLink and traverseNode predicates.  
            They are found by doing a breadth first search along links matching the traverseLink predicate, in the Source or Target direction designated by 
            the searchDirection parameter.  Then if the node matches the traverseNode predicate it keeps searching recurrsively through that node in the 
            same direction and returns all nodes that match the acceptNode predicate.   The search can handle circularity in the graph.
            </summary>
            <example>
            The following example searches through all nodes reachable via all links from the start node and returns all nodes that have the Method category:
            
                start.FindRelatedNodes(GraphSearchDirection.Target, l =&gt; true, n =&gt; true, n =&gt; HasCategory(MethodCategory);
                
            </example>
            <param name="searchDirection">
            Pass Source to search nodes that link to this node.
            Pass Target to search nodes that are linked from this node
            </param>
            <param name="traverseLink">A predicate function to control link traversal behavior, pass null if you want to traverse all links</param>
            <param name="traverseNode">A predicate to control node traversal behavior, pass null if you want to traverse all reachable nodes</param>
            <param name="acceptNode">A predicate to control if a node is to be included in the search or not, pass null if you want to accept all nodes</param>
            <returns>An iterator over the related nodes that were found returned in depth first order, an empty iterator otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.FindFirstRelatedNode(Microsoft.VisualStudio.GraphModel.GraphSearchDirection,System.Predicate{Microsoft.VisualStudio.GraphModel.GraphLink},System.Predicate{Microsoft.VisualStudio.GraphModel.GraphNode},System.Predicate{Microsoft.VisualStudio.GraphModel.GraphNode})">
            <summary>
            Finds the first node that matches the acceptNode predicate that is also related to this node according to the traverseLink and traverseNode predicates.  
            It is found by doing a breadth first search along links matching the traverseLink predicate, in the To or From direction designated 
            by the searchDirection parameter. Returns null if it doesn't exist.
            </summary>
            <param name="searchDirection">
            Pass Source to search nodes that link to this node.
            Pass Target to search nodes that are linked from this node
            </param>
            <param name="traverseLink">A predicate function to control link traversal behavior, pass null if you want to traverse all links</param>
            <param name="traverseNode">A predicate to control node traversal behavior, pass null if you want to traverse all reachable nodes</param>
            <param name="acceptNode">A predicate to control if a node is to be included in the search or not, pass null if you want to accept all nodes</param>
            <returns>The related node if found, null otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.Copy(System.String)">
            <summary>
            Clones a Node, including all properties, and clones new Links from the original Node's Links
            </summary>
            <param name="newNodeId">New Node's Id</param>
            <returns>The new Node</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.Copy(Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Clones a Node, including all properties, and clones new Links from the original Node's Links
            </summary>
            <param name="newNodeId">New Node's Id</param>
            <returns>The new Node</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.ToString">
            <summary>
            A more human friendly default string representation of a Node object
            </summary>
            <returns>String caption of this node</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.OnPropertyChanged(System.String)">
            <summary>
            Override that notifies the GraphGroupCollection whenever the IsGroup property has changed on this node.
            This has to be synchronous so that GraphGroup is immediately available after this operation in the 
            same transaction.
            </summary>
            <param name="property">The property that changed</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.Remove">
            <summary>
            Remove this node from the graph 
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNode.ParentGroups">
            <summary>
            Return all the GraphGroups that have this node listed in their ChildNodes collection
            (or ChildGroups collection if this node has IsGroup=true).
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.AddParentGroup(Microsoft.VisualStudio.GraphModel.GraphGroup)">
            <summary>
            For internal book keeping only.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.RemoveParentGroup(Microsoft.VisualStudio.GraphModel.GraphGroup)">
            <summary>
            For internal book keeping only.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNode.HasParentGroups">
            <summary>
            Return true if this node is contained in one or more GraphGroups.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.ClearParentGroups">
            <summary>
            For internal book keeping only.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.HasParentGroup(Microsoft.VisualStudio.GraphModel.GraphGroup)">
            <summary>
            For internal book keeping only.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.IsContainedBy(Microsoft.VisualStudio.GraphModel.GraphGroup)">
            <summary>
            True if the group is an ancestor of this node.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNode.ClearParents">
            <summary>
            For internal book keeping only.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.SmallParentCollection">
            <summary>
            This class optimizes the memory usage of the parent group collection by lazily allocating a
            collection object only when more than one parent group is found.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.SmallParentCollection._parents">
            <summary>
            This field is either null, or a singleton reference to the GraphGroup parent or a HashSet
            iff we have more than one parent group.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphNodeCollection">
            <summary>
            This class provides methods for manipulating a collection of Nodes.
            This class does not preserve the order in which you added the nodes, so when
            you enumerate them you will get them back in a random order.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeCollection._parent">
            <summary>
            The parent group if any.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeCollection._nodes">
            <summary>
            dictionary of unique node id to node
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeCollection._graph">
            <summary>
            The containing Graph object.
            </summary>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Added">
            <summary>
            This event is raised immediately when a new node is added to the collection.
            </summary>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Removed">
            <summary>
            This event is raised immediately when a node is removed from the collection.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.#ctor(Microsoft.VisualStudio.GraphModel.Graph,Microsoft.VisualStudio.GraphModel.GraphGroup)">
            <summary>
            Construct a new collection of Nodes.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the System.Collections.Generic.ICollection is read-only.
            </summary>
            <value>
            True if the System.Collections.Generic.ICollection is read-only; otherwise, false.
            </value>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.CopyTo(Microsoft.VisualStudio.GraphModel.GraphNode[],System.Int32)">
            <summary>
            Copies the elements of the System.Collections.Generic.ICollection to an
            System.Array, starting at a particular System.Array index.
            </summary>
            <param name="array">
            The one-dimensional System.Array that is the destination of the elements
            copied from System.Collections.Generic.ICollection. The System.Array must
            have zero-based indexing.
            </param>
            <param name="arrayIndex">
            The zero-based index in array at which copying begins.
            </param>
            <exception cref="T:System.ArgumentNullException">array is null</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">arrayIndex is less than 0.</exception>
            <exception cref="T:System.ArgumentException">
             array is multidimensional.-or-The number of elements in the source System.Collections.Generic.ICollection
             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:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.NodesConflictResolver(Microsoft.VisualStudio.GraphModel.GraphNode,Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Resolve conflicts when committing changes to the nodes dictionary.
            </summary>
            <param name="currentValue">Ignored</param>
            <param name="newValue">Ignored</param>
            <returns>Nothing - this always throws a TransactionAbortedException since conflict resolution isn't supported</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Count">
            <summary>
            Return the number of nodes in the collection.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Add(Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Adds a link to the graph, or merge it with an existing Link object
            </summary>
            <param name="item">Link to add</param>
            <exception cref="T:System.ArgumentNullException">thrown if link is null</exception>
            <exception cref="T:System.InvalidOperationException">thrown if source of link is not in the graph</exception>
            <exception cref="T:System.InvalidOperationException">thrown if target of link is not in the graph</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.OnAdded(Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Raise the Added event
            </summary>
            <param name="node">The node that was added</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.OnRemoved(Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Raise the Removed event
            </summary>
            <param name="node">The node that was removed</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Add(Microsoft.VisualStudio.GraphModel.GraphNode,Microsoft.VisualStudio.GraphModel.GraphNode@)">
            <summary>
            Adds the specified node to the graph.
            </summary>
            <param name="node">Node to add</param>
            <param name="resultNode">The Node that was added</param>
            <exception cref="T:System.ArgumentNullException">thrown if node is null</exception>
            <exception cref="T:System.InvalidOperationException">thrown if the unique node id already exists</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.InternalAdd(Microsoft.VisualStudio.GraphModel.GraphNode,System.Boolean)">
            <summary>
            Add without throwing exceptions.
            </summary>
            <param name="node">The new node to add</param>
            <param name="copySchemas">Whether to copy schemas if this node belongs to a different Graph</param>
            <returns>The newly added node</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Add(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphNode})">
            <summary>
            Add all the nodes in the given set.
            </summary>
            <param name="nodes">The set of nodes to add.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.CreateNew(System.String)">
            <summary>
            Add a new node using the given base name format for the node.  This method formats the given string with 
            integer values until it finds an id that is not currently in use, then creates a node with that id.
            </summary>
            <param name="idFormat">The string to format to create the new node id</param>
            <returns>The newly created node</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.GetOrCreate(System.String)">
            <summary>
            Attempts to get the node with the specified id. If not found, it will create a new node.
            </summary>
            <param name="id">Id of the Node</param>
            <returns>The Node that was found or created</returns>
            <exception cref="T:System.InvalidOperationException">thrown if a node with same id already exists, but is of a different node type</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.GetOrCreate(Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Attempts to get the node with the specified id. If not found, it will create a new node.
            </summary>
            <param name="id">The Id of the node</param>
            <returns>The Node that was found or created</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if a node with same id already exists, but is of a different node type</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.GetOrCreate(System.String,System.String,Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Attempts to get the node with the specified id. If not found, it will create a new node.
            </summary>
            <param name="id">The Id of the node</param>
            <param name="label">The displayable label of the node</param>
            <param name="category">An initial category to add to the node</param>
            <returns>The Node that was found or created</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if a node with same id already exists, but is of a different node type</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.GetOrCreate(Microsoft.VisualStudio.GraphModel.GraphNodeId,System.String,Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Attempts to get the node with the specified id. If not found, it will create a new node.
            </summary>
            <param name="id">The Id of the node</param>
            <param name="label">The displayable label of the node</param>
            <param name="category">An initial category to add to the node</param>
            <returns>The Node that was found or created</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if a node with same id already exists, but is of a different node type</exception>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Item(System.String)">
            <summary>
            Gets the Node using the given id.
            Throws exception on set if another node with the same id already exists.
            </summary>
            <param name="id">The Id of the node to get</param>
            <returns>The Node or null if it does not exist</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Get(System.String)">
            <summary>
            Gets the node with the specified id
            </summary>
            <param name="id">The Id of the node to get</param>
            <returns>The Node or null if it does not exist</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Get(Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Gets the node with the specified id
            </summary>
            <param name="id">The Id of the node to get</param>
            <returns>The Node or null if it does not exist</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Contains(Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Determines if the given node is in this collection
            </summary>
            <param name="item">The Node to search for</param>
            <returns>True if the given node is in this collection, false otherwise</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Graph">
            <summary>
            Gets the Graph associated with this nodes collection
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Owner">
            <summary>
            Gets the Graph associated with this nodes collection
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.GetFiltered(System.Predicate{Microsoft.VisualStudio.GraphModel.GraphNode})">
            <summary>
            Returns all nodes in the graph that match according to the given filter
            </summary>
            <param name="filter">The filter to use to check which nodes to include in the result</param>
            <returns>The Nodes chosen by the filter</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.GetByCategory(Microsoft.VisualStudio.GraphModel.GraphCategory[])">
            <summary>
            Returns all nodes in the graph that have at least one of the specified categories or have inherited categories
            that are in the set.  For example, if we have a Class category that inherits from the Type category and we ask for
            all nodes that have a Type category then it will return nodes that have either Class or Type categories.  However, 
            if we ask for "Class" categories it will only return nodes with a Class category, it will not return nodes that 
            only have a "Type" category.  In otherwords, it does not expand the search to include BasedOn categories of the given
            set, to do that you must call HasCategoryInSet with GraphCategoryMatchOption.Inherit.
            </summary>
            <param name="categories">0 or more GraphProperty objects used to filter the result set. If no categories are provided then all nodes are returned.</param>
            <returns>Nodes that match the filter set</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.GetByCategory(System.String[])">
            <summary>
            Returns all nodes in the graph that have the specified categories
            </summary>
            <param name="categories">The list of category ID's</param>
            <returns>The Nodes that match the filter set</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.GetByProperty(Microsoft.VisualStudio.GraphModel.GraphProperty,System.Object)">
            <summary>
            Returns all nodes in the graph that have the specified property value.
            </summary>
            <param name="property">The property to look for.</param>
            <param name="value">The value to compare</param>
            <returns>The Nodes that have the specified property value</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Remove(System.String)">
            <summary>
            Remove the specified node
            </summary>
            <param name="id">The Id of the node to remove</param>
            <returns>The Node removed, or null if it does not exist</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Remove(Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Remove the specified node
            </summary>
            <param name="id">The Id of the node to remove</param>
            <returns>The Node removed, or null if it does not exist</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Remove(Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Removes the first occurrence of a specific object from the System.Collections.Generic.ICollection.
            </summary>
            <param name="item">
            The object to remove from the System.Collections.Generic.ICollection.
            </param>
            <returns>
            True if item was successfully removed from the System.Collections.Generic.ICollection;
            otherwise, false. This method also returns false if item is not found in
            the original System.Collections.Generic.ICollection.
            </returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Remove(Microsoft.VisualStudio.GraphModel.GraphNode,Microsoft.VisualStudio.GraphModel.GraphNode@)">
            <summary>
            Remove the specified node
            </summary>
            <param name="node">The Node to remove</param>
            <param name="resultNode">The Node that was removed</param>
            <returns>The Node removed, or null if it does not exist</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.InternalRemove(Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Just remove the node from the collection, do not do any book keeping.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Clear">
            <summary>
            Remove all nodes in the collection
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Remove(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphNode})">
            <summary>
            Remove all the nodes in the given set.
            </summary>
            <param name="nodes">The set of nodes to remove. This argument can be the result of a Get method.</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.Containers">
            <summary>
            Returns an enumerable which consists of all nodes that are containers.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.GetEnumerator">
            <summary>
            Gets the typed enumerator for this collection
            </summary>
            <returns>The enumerator</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Gets the enumerator for this collection
            </summary>
            <returns>The enumerator</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter">
            <summary>
            The formatter is used to let us know how to format a specific Graph Node Id when outputting to a string.
            Subclass from this type and implement FormatFirstOfList, Format and EndList in order to perform formatting.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter.AppendPrefix(System.Text.StringBuilder)">
            <summary>
            Append a prefix
            e.g.
            (
            </summary>
            <param name="buffer">The appended prefix is placed in this string builder</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter.AppendNameValueSeparator(System.Text.StringBuilder)">
            <summary>
            Appends a seperator for a value name
            e.g.
            , item
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter.AppendListSeparator(System.Text.StringBuilder)">
            <summary>
            Appends a seperateor for a list
            e.g.
            , item
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter.AppendSuffix(System.Text.StringBuilder)">
            <summary>
            Appends a suffix
            e.g.
            )
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter.ShouldAppendName">
            <summary>
            Whether to append the name before a value
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter.ShouldEscapeValue">
            <summary>
            Whether to append the name before a value
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter.DoEscape(System.Text.StringBuilder,System.Int32,System.Int32)">
            <summary>
            Performs an escape operation
            </summary>
            <param name="sb">The identifier to add the escape to</param>
            <param name="position">The position at which to start the escape</param>
            <param name="length">The length of the substring to escape</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter.EscapeIfNeeded(System.Text.StringBuilder,System.Int32)">
            <summary>
            Checks whether an escape should be performed on a string, and then performs it.
            </summary>
            <param name="sb">The string to potentially escape</param>
            <param name="position">The position at which to start the escape</param>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter.NameValue">
            <summary>
            A GraphNodeId formatter that writes out items in the format of:
            Name=Value
            It performs an escape operation on the value first
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter.NameValueNoEscape">
            <summary>
            A GraphNodeId formatter that writes out items in the format of:
            Name=Value
            It does NOT perform an escape operation on the value first
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter.None">
            <summary>
            A GraphNodeId formatter that writes just the Value as is.
            Value
            It does NOT perform an escape operation on the value first
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter.CommaSeparatedList">
            <summary>
            A GraphNodeId formatter that writes an array of Values in the form:
            [Item1,Item2,Item3]
            It does NOT perform an escape operation on the value first. (This is generally
            done by a deeper operation, such as NameOpEqValueFormatter).
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter.SpaceSeparatedList">
            <summary>
            A GraphNodeId formatter that writes an array of Values in the form:
            Item1 Item2 tem3
            It does NOT perform an escape operation on the value first. (This is generally
            done by a deeper operation, such as NameOpEqValueFormatter).
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter.Nested">
            <summary>
            A GraphNodeId formatter that nests an internal operand in the format:
            (Item)
            It does NOT perform an escape operation on the value first. (This is generally
            done by a deeper operation, such as NameOpEqValueFormatter).
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphNodeIdName">
            <summary>
            The GraphNodeIdName to give to a GraphNodeId.
            This forms the name and data type of the GraphNodeId.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeIdName._table">
            <summary>
            Our name dictionary, which we use to make sure we only create one object for each name,
            and that objects for the same names can be compared using ==
            This _table has to be first, before the entries below (Empty, Nested) that calls GraphNodeId.Parse
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdName.Values">
            <summary>
            Gets the list of all registered GraphNodeId
            </summary>
            <returns>A collection of GraphNodeId objects</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdName.CompareTo(Microsoft.VisualStudio.GraphModel.GraphNodeIdName)">
            <summary>
            Compares this GraphNodeIdName against another (ordinal compare)
            </summary>
            <param name="other">The name to compare against</param>
            <returns>
            0 if identical,
            less than 0 if this name comes before the given name
            greater than 0 if this cname comes after the given name
            </returns>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeIdName.Literal">
            <summary>
            The default (empty) name. Uses no formatter and displays the value as is.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeIdName.Array">
            <summary>
            The default (empty) name. Uses no formatter and displays the value as is.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeIdName.Nested">
            <summary>
            A nested GraphNodeId
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeIdName.Group">
            <summary>
            A group name
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdName.Get(System.String,System.String,System.Type)">
            <summary>
            Get or Create a GraphNodeId based on the name, type and formatter.
            </summary>
            <param name="name">The name of the GraphNodeId</param>
            <param name="label">The display name</param>
            <param name="type">The type. This parameter is ignored if the name already exists before.</param>
            <returns>The GraphNodeId</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdName.Get(System.String,System.String,System.Type,System.Boolean)">
            <summary>
            Get or Create a GraphNodeIdName based on the name, type and formatter.
            </summary>
            <param name="name">The name of the GraphNodeIdName</param>
            <param name="label">The display name</param>
            <param name="type">The type. This parameter is ignored if the name already exists before.</param>
            <param name="escapeEmbedded">Whether to escape potentially embedded GraphNodeId's for this Name</param>
            <returns>The GraphNodeIdName</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdName.Get(System.String,System.String,System.Type,Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter)">
            <summary>
            Get or Create a GraphNodeIdName based on the name, type and formatter.
            </summary>
            <param name="name">The name of the GraphNodeIdName</param>
            <param name="label">The display name</param>
            <param name="type">The type. This parameter is ignored if the name already exists before.</param>
            <param name="formatter">The formatter. This parameter is ignored if the name already exists before.</param>
            <returns>The GraphNodeIdName</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdName.Name">
            <summary>
            The name of the GraphNodeIdName
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdName.Label">
            <summary>
            The label of the GraphNodeIdName
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdName.ValueType">
            <summary>
            The type of the GraphNodeIdName. This is used to determine how to deserialize data to objects with this name.
            e.g.:
            Assembly=FileName
            may need to deserialize to a Uri and get Uri-based compares, but:
            Class=ClassName
            needs to deserialize to a string. This can be done if Assembly has a Type of Uri.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdName.Formatter">
            <summary>
            The formatter to used when writing values of this name back out to a string
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdName.#ctor(System.String,System.String,System.Type,Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter)">
            <summary>
            Constructor. Private. Use GraphNodeIdName.Get() to create more objects instead.
            </summary>
            <param name="name">The name of this GraphNodeIdName</param>
            <param name="label">The label of this GraphNodeIdName</param>
            <param name="type">The type of this GraphNodeIdName</param>
            <param name="formatter">The formatter used to convert to string format</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdName.ToString">
            <summary>
            Converts the GraphNodeIdName to a string
            </summary>
            <returns>The string form of this GraphNodeIdName</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.IGraphNodeIdKey">
            <summary>
            This interface is used as the Key for the GraphNodeId table. This is implemented by the GraphNodeId as
            well as the GraphNodeIdKey so as to be able to do the Dictionary lookup.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphNodeIdKey">
            <summary>
            This is just so we can lookup an existing identifier without any heap allocation (because it is a struct).
            This has a big impact on comparison performance. This class is only for use within the GraphNodeId class.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeIdKey._name">
            <summary>
            The GraphNodeIdName used for the lookup
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeIdKey._value">
            <summary>
            The value used for the lookup
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeIdKey._hash">
            <summary>
            A cached hash
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdKey.Name">
            <summary>
            The GraphNodeIdName
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdKey.Value">
            <summary>
            The Value
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdKey.#ctor(Microsoft.VisualStudio.GraphModel.GraphNodeIdName,System.Object)">
            <summary>
            Create a new GraphNodeIdKey to use for a lookup against the GraphNodeId cache table
            </summary>
            <param name="name">The GraphNodeIdName of this GraphNodeId Key</param>
            <param name="value">The value of this GraphNodeId Key</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdKey.Equals(Microsoft.VisualStudio.GraphModel.IGraphNodeIdKey)">
            <summary>
            Override Equals - basically compare the inner values of the struct.
            </summary>
            <param name="other">The GraphNodeId Key to compare against</param>
            <returns>True if this GraphNodeId Key is identical to the given GraphNodeId Key, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdKey.Equals(System.Object)">
            <summary>
            Override Equals - basically compare the inner values of the struct.
            </summary>
            <param name="obj">The object to compare against</param>
            <returns>True if the object is identical to this object, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdKey.GetHashCode">
            <summary>
            Gets the objects hash code and caches it.
            </summary>
            <returns>The hash code of this object</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection">
            <summary>
            Contains a list of GraphNodeIds. This can be stored inside the .Value part
            of a GraphNodeId. This is an immutable list once created. We use an abstract class
            since this class does not know the formatting required to serialize the list back out to a string.
            The derived class will know this.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection._array">
            <summary>
            The list of values
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection.#ctor(System.Boolean,Microsoft.VisualStudio.GraphModel.GraphNodeId[])">
            <summary>
            Construct a GraphNodeIdCollection.
            </summary>
            <param name="homogeneousItems">Whether the array is homogeneous (array item names are all the same so no need repeating, e.g. Name=[item1,item2,item3])
            or heterogeneous - e.g (Name1=item1, Name2=item2, Name3=item3))</param>
            <param name="array">The array of GraphNodeId's to place into this collection</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection.HomogeneousElements">
            <summary>
            Whether the array elements are is homogeneous (array item names are all the same so no need repeating, e.g. Name=[item1,item2,item3])
            or heterogeneous - e.g (Name1=item1, Name2=item2, Name3=item3))
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Get our Enumerator. This prevents direct access to the _array
            </summary>
            <returns>The enumerator for this collection</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection.System#Collections#Generic#IEnumerable{Microsoft#VisualStudio#GraphModel#GraphNodeId}#GetEnumerator">
            <summary>
            Get our typed Enumerator. This prevents direct access to the _array
            </summary>
            <returns>The enumerator for this collection</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection.Length">
            <summary>
            Get the number of items in the list
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection.GetValueByName``1(Microsoft.VisualStudio.GraphModel.GraphNodeIdName)">
            <summary>
            Gets a value from the first embedded GraphNodeId that matches the name
            </summary>
            <param name="name">The name to search for</param>
            <returns>The value from first GraphNodeId that matches the give name, the default value if the name is not found in this collection</returns>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection._hashCode">
            <summary>
            A hashcode cache, so that we only have to calculate it once.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection.GetHashCode">
            <summary>
            Computes the hash code for this collection and caches it
            </summary>
            <returns>The hash code for this collection</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection.Equals(System.Object)">
            <summary>
            Compares to of these lists and see if all of the items are equal.
            This assumes the items will be in the same order inside the list.
            This is a performance optimization, and needed for method arguments, where a different order
            means a different overload
            </summary>
            <param name="obj">The object to compare against</param>
            <returns>True if the objects are identical, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection.AppendToString(System.Text.StringBuilder,Microsoft.VisualStudio.GraphModel.GraphNodeIdFormatter,Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GetAliasedIdentifier)">
            <summary>
            Dumps this out to a string. This is called by a derived class passing in the specific
            formatter to use to display the list.
            </summary>
            <param name="sb">String to append to</param>
            <param name="formatter">Formatter for handling escapes and special formats</param>
            <param name="parent">The parent GraphNodeId of this GraphNodeId collection</param>
            <param name="aliaser">The aliaser to perform substitution</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection.AppendToString(System.Text.StringBuilder,Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GetAliasedIdentifier)">
            <summary>
            Dumps this out to a stringBuilder
            </summary>
            <param name="sb">The StringBuilder</param>
            <param name="parent">The parent of this collection</param>
            <param name="aliaser">The aliaser to perform substitution</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection.ToString">
            <summary>
            Gets this GraphNodeId collection as a string
            </summary>
            <returns>The GraphNodeId collection in string form</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection.MergeArray(Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection)">
            <summary>
            Adds a GraphNodeIdCollection array to this one
            </summary>
            <param name="array2">The list to add to this one</param>
            <returns>The new combined GraphNodeIdCollection</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection.AddItemToArray(Microsoft.VisualStudio.GraphModel.GraphNodeId,System.Boolean)">
            <summary>
            Adds an item into a GraphNodeIdCollection and returns the new collection
            </summary>
            <param name="item">The item to add to this collection</param>
            <param name="front">Flag indicating to add to the front of the list or not</param>
            <returns>The new collection</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphNodeId">
            <summary>
            <para>
            A GraphNodeId is a name/value pair, for example "a=b". The left part of this identifier ("a")
            is represented by a GraphNodeIdName called the "Name" and the right hand side, "b" is the "Value" part.
            The value part of a GraphNodeId can be one of the following:
              * String
              * Uri
              * GraphNodeId
              * GraphNodeIdCollection
            Since the Value can be a GraphNodeId or GraphNodeIdCollection, we can use parentheses "()" to specify Nesting:
            e.g.
               a=(b=c)
               a=(b=c d=e)
               (a=b c=d)
            To construct a nested GraphNodeId list for (a=b c=d), create an GraphNodeIdCollection
            and assign it to a GraphNodeId:
            </para>
            <code>
            GraphNodeId.Get(GraphNodeIdName.Nested, new GraphNodeIdCollection(
                GraphNodeId.Get(MyGraphNodeIdNames.a, "b")
                GraphNodeId.Get(MyGraphNodeIdNames.c, "d"));
            </code>
            <para>
            You can also create this GraphNodeId using the following simple arithmetic:
            </para>
            <code>
                GraphNodeId ab = GraphNodeId.Get("(a=b)");
                GraphNodeId abcd = ab + "(c=d)";  // Yields (a=b c=d)
            </code>
            <para>
            The result can be converted to a string using ToString() or implicit string cast operator and will produce "(a=b c=d)".
            </para>
            <code>
            Since GraphNodeIds are stored singleton in a HashSet, they can be compared using operator ==
            </code>
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeId._table">
            <summary>
            The static table of all hashed GraphNodeIds
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeId._name">
            <summary>
            The GraphNodeIdName used for the lookup
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeId._value">
            <summary>
            The value used for the lookup
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphNodeId._hash">
            <summary>
            A cached hash.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.GetNested(Microsoft.VisualStudio.GraphModel.GraphNodeIdName,System.Object)">
            <summary>
            Get a GraphNodeId based on the name and value. Does a lookup against a Dictionary to minimize the number
            of GraphNodeIds around.
            </summary>
            <param name="name">The name of the value to search for</param>
            <param name="value">The value to search for</param>
            <returns>The partial GraphNodeId based on the name and value</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.GetArray(Microsoft.VisualStudio.GraphModel.GraphNodeIdName,System.Object)">
            <summary>
            Get a GraphNodeId based on the name and value. Does a lookup against a Dictionary to minimize the number
            of GraphNodeIds around.
            </summary>B
            <param name="name">The name to search for</param>
            <param name="value">The value to search for</param>
            <returns>The GraphNodeId for based on the name and value</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.GetNested(Microsoft.VisualStudio.GraphModel.GraphNodeId[])">
            <summary>
            Get a nested GraphNodeId based on the given identifiers. Does a lookup against a Dictionary to minimize the number
            of GraphNodeIds around.
            </summary>
            <returns>The partial GraphNodeId nested in this one</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.RemovedNestedNames(Microsoft.VisualStudio.GraphModel.GraphNodeIdName[])">
            <summary>
            Returns a partial GraphNodeId containing the given GraphNodeIdName
            </summary>
            <param name="names">The names to search for</param>
            <returns>The partial GraphNodeId matching the given names</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.GetArray(Microsoft.VisualStudio.GraphModel.GraphNodeIdName,Microsoft.VisualStudio.GraphModel.GraphNodeId[])">
            <summary>
            Constructs a partial GraphNodeId based on the given array name and identifiers
            </summary>
            <param name="arrayName">The name of the array to search</param>
            <param name="identifiers">The identifiers to seach for</param>
            <returns>The partial GraphNodeId for the arrayName and identifiers passed in</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.GetPartial(Microsoft.VisualStudio.GraphModel.GraphNodeIdName,System.Object)">
            <summary>
            Gets a partial GraphNodeId based on the name and value. Does a lookup against a Dictionary to minimize the number
            of GraphNodeIds around. It is generally not right to get a partial GraphNodeId and use it for a node id.
            Always use a full Nested GraphNodeId;
            </summary>
            <param name="name">The name to search for</param>
            <param name="value">The value to search for</param>
            <returns>The partial GraphNodeId if found, null otherwise</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeId.Name">
            <summary>
            The GraphNodeIdName
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeId.Value">
            <summary>
            The value of the GraphNodeId - can be one of:
             * String
             * Uri
             * GraphNodeId
             * GraphNodeIdCollection
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.GetValue``1">
            <summary>
            The value of the GraphNodeId - can be one of:
             * String
             * Uri
             * GraphNodeId
             * GraphNodeIdCollection
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.GetNestedIdByName(Microsoft.VisualStudio.GraphModel.GraphNodeIdName)">
            <summary>
            Gets a value from the first embedded GraphNodeId that matches the name
            </summary>
            <param name="name">The name to search for</param>
            <returns>The GraphNodeId that matches the given name, null if not found</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.GetNestedValueByName``1(Microsoft.VisualStudio.GraphModel.GraphNodeIdName)">
            <summary>
            Gets a value from the first embedded GraphNodeId that matches the name
            </summary>
            <param name="name">The name to search for</param>
            <returns>The value for the given name if found, the default value otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.#ctor(Microsoft.VisualStudio.GraphModel.GraphNodeIdName,System.Object,System.Int32)">
            <summary>
            Create a new GraphNodeId object
            </summary>
            <param name="name">The name of this GraphNodeId</param>
            <param name="value">The value of this GraphNodeId</param>
            <param name="hashcode">The hashcode for this GraphNodeId</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeId.LiteralValue">
            <summary>
            Gets a literal value for the GraphNodeId. Uses the Name if the GraphNodeIdName is a Literal otherwise
            delegates to ToString.
            </summary>
            <returns>The GraphNodeId in string form</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.ToString">
            <summary>
            Gets a string for the GraphNodeId
            </summary>
            <returns>The GraphNodeId in string form</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.ToStringInternal">
            <summary>
            Internal helper function for convert a GraphNodeId to a string
            </summary>
            <returns>The string form of the identifier</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.AppendToString(System.Text.StringBuilder)">
            <summary>
            Appends the "ToString" of a GraphNodeId to the StringBuilder. This is more efficient
            than calling ToString, as the GraphNodeId can re-use the StringBuilder;
            </summary>
            <param name="buffer">The string build to append to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.AppendToString(System.Text.StringBuilder,Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GetAliasedIdentifier)">
            <summary>
            Appends the "ToString" of a GraphNodeId to the StringBuilder. This is more efficient
            than calling ToString, as the GraphNodeId can re-use the StringBuilder;
            </summary>
            <param name="sb">The string build to append to</param>
            <param name="parent">The parent of this GraphNodeId</param>
            <param name="aliaser">The aliaser that performs substitution</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.op_Addition(Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            The + operator adds two GraphNodeIds. If either GraphNodeId is already contain an
            array, the item is added to the array, otherwise a new embedded array is returned.
            </summary>
            <param name="left">The first GraphNodeId to add</param>
            <param name="right">The second GraphNodeId to add</param>
            <returns>The new GraphNodeId</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.op_Equality(Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            The == operator compares two GraphNodeIds and return whether they're equal
            </summary>
            <param name="left">The first GraphNodeId to add</param>
            <param name="right">The second GraphNodeId to add</param>
            <returns>True if the GraphNodeId are Equal, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.op_Inequality(Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            The != operator compares two GraphNodeIds and return whether they're equal
            </summary>
            <param name="left">The first GraphNodeId to add</param>
            <param name="right">The second GraphNodeId to add</param>
            <returns>false if the GraphNodeId are Equal, true otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.Add(Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Adds a GraphNodeId. If this identifier already is an
            array, the item is added to the array, otherwise a new embedded array is returned.
            </summary>
            <param name="identifier">The identifer to add</param>
            <returns>The new identifier</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.System#IEquatable{Microsoft#VisualStudio#GraphModel#IGraphNodeIdKey}#Equals(Microsoft.VisualStudio.GraphModel.IGraphNodeIdKey)">
            <summary>
            Our implementation of IEquatable&lt;IGraphNodeIdKey&gt;.Equals. We use explicit interface implementation in order
            to keep the IGraphNodeIdKey private.
            </summary>
            <param name="key">The key to compare</param>
            <returns>True if the GraphNodeId's are equal, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.System#IEquatable{Microsoft#VisualStudio#GraphModel#GraphNodeId}#Equals(Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Our implementation of IEquatable&lt;GraphNodeIdKey&gt;.Equals. We use explicit interface implementation in order
            to keep the IGraphNodeIdKey private.
            </summary>
            <param name="key">The identifier to compare</param>
            <returns>True if the identifier is equal, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.CompareTo(System.Object)">
            <summary>
            Compares to another GraphNodeId
            </summary>
            <param name="obj">The other GraphNodeId to compare against</param>
            <returns>An indication of their relative value (0 being equal)</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.CompareTo(Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Compares to another GraphNodeId
            </summary>
            <param name="other">The GraphNodeId to compare against</param>
            <returns>An indication of their relative value (0 being equal)</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.Equals(System.Object)">
            <summary>
            See if this GraphNodeId match either a GraphNodeId or a GraphNodeIdKey.
            </summary>
            <param name="obj">The object to compare against</param>
            <returns>True if the objects are equal, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.GetHashCode">
            <summary>
            Get the HashCode. We return the hashcode given to us during construction.
            </summary>
            <returns>The cached hash code</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.Parse(System.String)">
            <summary>
            Parse a string into a GraphNodeId
            </summary>
            <param name="id">The string to parse into a GraphNodeId</param>
            <returns>The GraphNodeId created from the given string</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.GetLiteral(System.String)">
            <summary>
            Gets a literal GraphNodeId parsed from the given identifier string
            </summary>
            <param name="id">The identifier string to parse</param>
            <returns>The GraphNodeId parsed</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.Parse(System.String,System.Boolean)">
            <summary>
            Parse a string into a GraphNodeId
            </summary>
            <param name="id">The string identifier to parse</param>
            <param name="throwOnFailure">Flag indicating if the method should throw exceptions or not</param>
            <returns>The newly parsed GraphNodeId</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.Parse(System.String,System.Boolean,System.Func{System.Int32,Microsoft.VisualStudio.GraphModel.GraphNodeId})">
            <summary>
            Parse a string into a GraphNodeId
            </summary>
            <param name="id">The string identifier to parse</param>
            <param name="throwOnFailure">Flag indicating if the method should throw exceptions or not</param>
            <param name="resolver">Alias resolver</param>
            <returns>The newly parsed GraphNodeId</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.ParseValue(System.Char[],System.Char[],System.Int32@,System.Object@,System.Boolean,System.Func{System.Int32,Microsoft.VisualStudio.GraphModel.GraphNodeId})">
            <summary>
            Parse a single GraphNodeId value. The parser will parse to a string unless the value (after whitespace) starts with:
             ( - parses as an embedded GraphNodeId
             [ - parses as an Array
             Everything else will be returned as a string
            </summary>
            <param name="parseBuffer">The current parse buffer</param>
            <param name="workingBuffer">A working buffer. May destroy content in it.</param>
            <param name="position">The current position in the buffer, when this function returns, the next position to operate on</param>
            <param name="value">Will return a string, GraphNodeId or GraphNodeIdCollection</param>
            <param name="throwOnFailure">Do we throw an exception on failure</param>
            <param name="resolver">The alias resolver</param>
            <returns>True if successful parsing, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.ParseAliasedIdentifier(System.Char[],System.Char[],System.Int32@,Microsoft.VisualStudio.GraphModel.GraphNodeId@,System.Boolean,System.Func{System.Int32,Microsoft.VisualStudio.GraphModel.GraphNodeId})">
            <summary>
            Parse an Aliased Identifier to a GraphNodeId
            </summary>
            <param name="parseBuffer">The current parse buffer</param>
            <param name="workingBuffer">A working buffer. May destroy content in it.</param>
            <param name="position">The current position in the buffer, when this function returns, the next position to operate on</param>
            <param name="identifier">The GraphNodeId that was constructed, or null</param>
            <param name="throwOnFailure">Do we throw an exception on failure</param>
            <param name="resolver">The alias resolver</param>
            <returns>True if successful parsing, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.ParseEmbedded(System.Char[],System.Char[],System.Int32@,Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection@,System.Boolean,System.Func{System.Int32,Microsoft.VisualStudio.GraphModel.GraphNodeId})">
            <summary>
            Parse an Embedded GraphNodeId to a GraphNodeId
            </summary>
            <param name="parseBuffer">The current parse buffer</param>
            <param name="workingBuffer">A working buffer. May destroy content in it.</param>
            <param name="position">The current position in the buffer, when this function returns, the next position to operate on</param>
            <param name="value">The GraphNodeIdCollection that was constructed, or null</param>
            <param name="throwOnFailure">Do we throw an exception on failure</param>
            <param name="resolver">The alias resolver</param>
            <returns>True if successful parsing, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.ParseCommaSeparatedList(System.Char[],System.Char[],System.Int32@,Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection@,System.Boolean,System.Func{System.Int32,Microsoft.VisualStudio.GraphModel.GraphNodeId})">
            <summary>
            Parse a set of GraphNodeId's, delimited by ',' into a GraphNodeIdCollection.
            </summary>
            <param name="parseBuffer">The current parse buffer</param>
            <param name="workingBuffer">A working buffer. May destroy content in it.</param>
            <param name="position">The current position in the buffer, when this function returns, the next position to operate on</param>
            <param name="value">The GraphNodeIdCollection that was constructed, or null</param>
            <param name="throwOnFailure">Do we throw an exception on failure</param>
            <param name="resolver">The alias resolver</param>
            <returns>True if successful parsing, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.AdvanceToEndOfLiteral(System.Char[],System.Char[],System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Skip over a set of characters, until the end of a literal. This will add 1 character for any escaped character set of 2 characters
            e.g.:
            \" ==&gt; "
            \\ ==&gt; \
            </summary>
            <param name="parseBuffer">The current parse buffer</param>
            <param name="workingString">A working buffer. The characters advanced will be ended to the working buffer.</param>
            <param name="position">The current position in the buffer, when this function returns, the next position to operate on</param>
            <param name="workingPosition">The working position in the working buffer. This will be advanced for every character added.</param>
            <param name="throwOnFailure">Do we throw an exception on failure</param>
            <returns>True if successful parsing, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.NextNonWhitespace(System.Char[],System.Int32@,System.Boolean)">
            <summary>
            Advance by 1 character, skipping over any leading or trailing whitespace
            </summary>
            <param name="parseBuffer">The parse buffer</param>
            <param name="position">The current position in the buffer, when this function returns, the next position to operate on</param>
            <param name="throwIfEol">Do we throw an exception on failure</param>
            <returns>True if successfull, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeId.AdvanceWhiteSpace(System.Char[],System.Int32@)">
            <summary>
            Advance over any existing whitespaces
            </summary>
            <param name="id">The idenfier string to advance over</param>
            <param name="position">The position advanced to</param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphNodeIdConverter">
            <summary>
            A type converter that can be used to convert to and from GraphNodeId. The editor converter derives from this one.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Determines if the GraphNodeId can be converted to the given type
            </summary>
            <param name="context">The type descriptor context</param>
            <param name="destinationType">The type to convert to</param>
            <returns>True if this converter can convert the GraphNodeId into the destination type, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Determines if the GraphNodeId can be converted from the given type
            </summary>
            <param name="context">The type descriptor context for the conversion</param>
            <param name="sourceType">The type to convert from</param>
            <returns>True if the GraphNodeId can be converted from the source type</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
            <summary>
            Convert this to another type. Currently supports strings, and any embedded data types.
            </summary>
            <param name="context">The type descriptor context for the conversion</param>
            <param name="culture">The culture for the conversion</param>
            <param name="value">The value to convert</param>
            <param name="destinationType">The type to convert to</param>
            <returns>The converted value</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <summary>
            Convert from a type to a GraphNodeId
            </summary>
            <param name="context">The type descriptor context for the conversion</param>
            <param name="culture">The culture for the conversion</param>
            <param name="value">The value to convert from</param>
            <returns>The GraphNodeId converted from the given value</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphNodeIdEditorConverter">
            <summary>
            The edit version of the graph node id converter - that supports expandable properties
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdEditorConverter.GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext)">
            <summary>
            Do we support expandable properties
            </summary>
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdEditorConverter.GetProperties(System.ComponentModel.ITypeDescriptorContext,System.Object,System.Attribute[])">
            <summary>
            Get the expandable properties
            </summary>
            <param name="context"></param>
            <param name="value"></param>
            <param name="attributes"></param>
            <returns></returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphNodeIdPropertyDescriptor">
            <summary>
            This is a custom PropertyDescriptor that is used to populate a row in the PropertyGrid with
            XmlAttribute information and corresponding localized strings for labels and descriptions.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdPropertyDescriptor.#ctor(Microsoft.VisualStudio.GraphModel.GraphNodeId,System.String,System.String)">
            <summary>
            Constructor.
            </summary>
            <param name="identifier">Identifier associated with this property descriptor.</param>
            <param name="name">Optional name of this property descriptor.</param>
            <param name="category">Optional category of this property descriptor.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdPropertyDescriptor.IsLiteral(Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Is the QualifiedIdentifier value a literal?
            </summary>
            <param name="id"></param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdPropertyDescriptor.Category">
            <summary>
            Gets the category of this property.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdPropertyDescriptor.ComponentType">
            <summary>
            Gets the type of the component this property is bound to.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdPropertyDescriptor.Converter">
            <summary>
            Gets the type converter for this property
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdPropertyDescriptor.IsLocalizable">
            <summary>
            Gets a value indicating whether this property should be localized, as specified in the LocalizableAttribute.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdPropertyDescriptor.IsReadOnly">
            <summary>
            Gets a value indicating whether this property is read-only
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdPropertyDescriptor.PropertyType">
            <summary>
            Gets the type of the property
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphNodeIdPropertyDescriptor.SupportsChangeEvents">
            <summary>
            Gets a value indicating whether value change notifications for this property may originate from outside the property descriptor.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdPropertyDescriptor.CanResetValue(System.Object)">
            <summary>
            Returns whether resetting an object changes its value
            </summary>
            <param name="component">The component to test for reset capability</param>
            <returns>true if resetting the component changes its value; otherwise, false</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdPropertyDescriptor.FillAttributes(System.Collections.IList)">
            <summary>
            Adds the attributes of the PropertyDescriptor to the specified list of attributes in the parent class.
            </summary>
            <param name="attributeList">An IList that lists the attributes in the parent class. Initially, this is empty.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdPropertyDescriptor.GetValue(System.Object)">
            <summary>
            Gets the current value of the property on a component.
            </summary>
            <param name="component"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdPropertyDescriptor.ResetValue(System.Object)">
            <summary>
            Resets the value for this property of the component to the default value.
            </summary>
            <param name="component">The component with the property value that is to be reset to the default value. </param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdPropertyDescriptor.SetValue(System.Object,System.Object)">
            <summary>
            Sets the value of the component to a different value.
            </summary>
            <param name="component">The component with the property value that is to be set. </param>
            <param name="value">The new value. </param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphNodeIdPropertyDescriptor.ShouldSerializeValue(System.Object)">
            <summary>
            Determines a value indicating whether the value of this property needs to be persisted.
            </summary>
            <param name="component">The component with the property to be examined for persistence. </param>
            <returns>true if the property should be persisted; otherwise, false</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.WeakIdDictionary">
            <summary>
            A dictionary of GraphNodeIds that allows the id's to be garbage collected if necessary.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.WeakIdDictionary.CleanupFrequency">
            <summary>
            The number of milliseconds to wait between cleanups.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphObject">
            <summary>
            This class makes an object extensible by adding a strongly typed
            property bag of name/value pairs.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphObject._properties">
            <summary>
            dictionary of property values
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphObject._categories">
            <summary>
            set of categories
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphObject.PropertyCount">
            <summary>
            Property that returns an number of of all annotations.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphObject.Properties">
            <summary>
            Property that returns an enumeration of all annotations. The order of the enumeration is random.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphObject.PropertyKeys">
            <summary>
            Property that returns an enumeration of all annotation keys. The order of the enumeration is random.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphObject.PropertyValues">
            <summary>
            Property that returns an enumeration of all annotation values. The order of the enumeration is random.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphObject.Item(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Property that gets or sets a property value.
            </summary>
            <param name="property">The property to set</param>
            <returns>The object associated with the annotation, or default if annotation does not exist</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphObject.DocumentSchema">
            <summary>
            Get the document local schema from the Owner of this graph.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphObject.Owner">
            <summary>
            Get the Graph object that this object belongs to.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.#ctor">
            <summary>
            Protected constructor for GraphObject
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.#ctor(Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Protected constructor for GraphObject
            </summary>
            <param name="owner">The owning Graph object, or null</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.WrapGraphObject(Microsoft.VisualStudio.GraphModel.GraphObject)">
            <summary>
            Modifies the current graph object to share the same property and categories as the given graph object.
            The wrapper and wrappee graph objects will always have identical sets of properties and categories.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.SetValue``1(Microsoft.VisualStudio.GraphModel.GraphProperty,``0)">
            <summary>
            Sets the value of the given property. If the proeprty already exists, its value is overwritten unless the annotation flags prevent otherwise.
            </summary>
            <typeparam name="T">The type of data being added</typeparam>
            <param name="property">The property you want to set</param>
            <param name="value">Value of the property</param>
            <returns>The value </returns>
            <exception cref="T:System.ArgumentNullException">thrown if key is null</exception>
            <exception cref="T:System.InvalidOperationException">throws if the value's type can not be assigned to the annotation</exception>
            <exception cref="T:System.InvalidOperationException">throws if trying to write to a "write once" annotation multiple times</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.SetValue(Microsoft.VisualStudio.GraphModel.GraphProperty,System.Type,System.Object)">
            <summary>
            Add an annotation using the given key, type and value
            </summary>
            <param name="property">The property to set</param>
            <param name="type">The type of value to set</param>
            <param name="value">The value to set</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.SetValue(System.String,System.Object)">
            <summary>
            Add an annotation using the given key, type and value
            </summary>
            <param name="propertyId">The property to set</param>
            <param name="value">The value to set</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.HasLocalValue(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Return true if the specified property exists on this object with no cateogry inheritance check.
            </summary>
            <param name="property">The property to find</param>
            <returns>True if property is set on this object</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.HasValue(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Return true if the specified annotation exists.
            </summary>
            <param name="property">Annotation key</param>
            <returns>True if annotation exists, false otherwise</returns>
            <exception cref="T:System.ArgumentNullException">thrown if key is null</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.HasValue(System.String)">
            <summary>
            Find out if the object has a value for the specified property.
            </summary>
            <param name="propertyId">Property name</param>
            <returns>True if the object has a value for the given property</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.FindInheritedProperty(Microsoft.VisualStudio.GraphModel.Graph,Microsoft.VisualStudio.GraphModel.GraphProperty,Microsoft.VisualStudio.GraphModel.GraphMetadata@)">
            <summary>
            This method searches inherited categories looking for a given property.
            </summary>
            <param name="graph">The Graph owner from which to retrieve metadata</param>
            <param name="toFind">The property to search for</param>
            <param name="metadata">The metadata associated with the found category, if any.</param>
            <returns>The inherited property if found, null otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.GetValue(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Gets the value of the specified annotation.
            </summary>
            <param name="property">Annotation key</param>
            <returns>Object associated with the annotation, or null</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.GetValue(System.String)">
            <summary>
            Gets the value of the specified property.
            </summary>
            <param name="propertyId">Annotation key</param>
            <returns>Object associated with the property, or null</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.GetDefaultValueType(System.Type)">
            <summary>
            Keep a static cache of default value types to avoid having to call Activator.CreateInstance too often.
            </summary>
            <param name="type">The type for which the default value is returned</param>
            <returns>The default value for the given type</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.GetValue``1(System.String)">
            <summary>
            Gets the value of the specified property.
            </summary>
            <typeparam name="T">The type of data to return</typeparam>
            <param name="propertyId">Annotation key</param>
            <returns>Object associated with the property, or null</returns>
            <exception cref="T:System.InvalidOperationException">thrown if property type doesn't match the given generic type</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.GetValue``1(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Gets the value of the specified property.
            </summary>
            <typeparam name="T">The type of data to return</typeparam>
            <param name="property">The property you want to get the value of</param>
            <returns>Value of the given property</returns>
            <exception cref="T:System.ArgumentNullException">thrown if key is null</exception>
            <exception cref="T:System.InvalidOperationException">thrown if property type doesn't match the given generic type</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.GetValue``1(Microsoft.VisualStudio.GraphModel.GraphProperty,Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Gets the value of the specified property.
            </summary>
            <typeparam name="T">The type of data to return</typeparam>
            <param name="property">The property you want to get the value of</param>
            <param name="owner">The Graph owner from which to retrieve additional metadata about this object</param>
            <returns>Value of the given property</returns>
            <exception cref="T:System.ArgumentNullException">thrown if key is null</exception>
            <exception cref="T:System.InvalidOperationException">thrown if property type doesn't match the given generic type</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.GetValue``1(Microsoft.VisualStudio.GraphModel.GraphProperty,``0)">
            <summary>
            Gets the value of the specified annotation.
            if property is not set we reutnr the default value that the caller pass to this method
            </summary>
            <typeparam name="T">The type of data to return</typeparam>
            <param name="property">The property you want to get the value of</param>
            <param name="defaultValueIfNotFound">Value to return is property is not found</param>
            <returns>Value of the given property</returns>
            <exception cref="T:System.ArgumentNullException">thrown if key is null</exception>
            <exception cref="T:System.InvalidOperationException">thrown if property type doesn't match the given generic type</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.GetValueAsString(Microsoft.VisualStudio.GraphModel.GraphProperty,System.Globalization.CultureInfo)">
            <summary>
            Returns the given property as a string using the given culture.
            </summary>
            <param name="property">The property you want to get the value of</param>
            <param name="culture">The culture you want to use for conversion to string</param>
            <returns>The string representation of the value or String.Empty if the property was not set</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.GetValue``1(Microsoft.VisualStudio.GraphModel.GraphProperty,Microsoft.VisualStudio.GraphModel.Graph,Microsoft.VisualStudio.GraphModel.GraphCategory@)">
            <summary>
            Gets the value of the specified property, and also return the category that this
            property value was inherited from if any.
            </summary>
            <typeparam name="T">The type of data to return</typeparam>
            <param name="property">The property you want to get the value of</param>
            <param name="owner">The Graph owner from which to retrieve additional metadata about this object</param>
            <param name="category">The category that the property value was inherited from or null if it was not inherited</param>
            <returns>Value of the given property</returns>
            <exception cref="T:System.ArgumentNullException">thrown if key is null</exception>
            <exception cref="T:System.InvalidOperationException">thrown if property type doesn't match the given generic type</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.GetSchemaValue(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Gets the schema specific value of the property if one exists.
            </summary>
            <returns>The schema specific value of the property.  Null if no such value exists.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.ClearValue(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Removes the value of the specified property
            </summary>
            <param name="graphProperty">The property you want to clear </param>
            <returns>The annotation value that was removed, or null</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.ClearValue``1(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Clear the value of the specified property.
            </summary>
            <typeparam name="T">The type of data to return</typeparam>
            <param name="property">The property whose value you want to clear</param>
            <returns>The annotation value that was removed, or default value if key could not be found</returns>
            <exception cref="T:System.ArgumentNullException">thrown if key is null</exception>
            <exception cref="T:System.InvalidOperationException">throws if trying to remove an annotation which can not be removed</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.AddCategory(Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Add a category to the object
            </summary>
            <param name="category">The category to add</param>
            <returns>The category if it was removed, or null if it was not found</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.RemoveCategory(Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Remove the category of this object
            </summary>
            <param name="category">The category to remove</param>
            <returns>The category if it was removed, or null if it was not found</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.HasCategory(System.String)">
            <summary>
            Return true if the object has the given category.
            </summary>
            <param name="category">The category to remove</param>
            <returns>Return true if the object has the given category</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.GetDerivedCategory(System.String)">
            <summary>
            Return first matching leaf category that has the given category in its heirarchy.
            </summary>
            <param name="parentCategory">The category to find</param>
            <returns>Return first matching leaf category</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.GetDerivedCategory(Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Return first matching leaf category that has the given category in its heirarchy.
            </summary>
            <param name="parentCategory">The category to find</param>
            <returns>Return first matching leaf category</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.HasCategory(Microsoft.VisualStudio.GraphModel.GraphCategory)">
            <summary>
            Return true if the object has the given category.
            </summary>
            <param name="category">The category to check</param>
            <returns>Return true if the object has the given category</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.HasCategory(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.GraphModel.GraphCategory})">
            <summary>
            Return true if the object has any of the given categories.
            </summary>
            <param name="categories">The categories to check</param>
            <returns>Return true if the object has any of the given categories</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.HasCategoryInSet(System.Collections.Generic.HashSet{Microsoft.VisualStudio.GraphModel.GraphCategory},Microsoft.VisualStudio.GraphModel.GraphCategoryMatchOption)">
            <summary>
            Determines if the given set of categories applies to this object.
            </summary>
            <param name="categorySet">The set of categories to search on</param>
            <param name="matchOption">Whether to match the categories exaclty, or allow inherited categories to also match</param>
            <returns>True if this object has one or more of the given categories, false otherwise</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphObject.Categories">
            <summary>
            Return all categories. Never returns null.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphObject.CategoryCount">
            <summary>
            Return number of categories in the object.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphObject.DescriptiveCategoryLabel">
            <summary>
            Creates a delimited list of all category labels for this graph object.
            </summary>
            <returns>Delimited list of all category labels for this graph object</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.ClearCategories">
            <summary>
            Remove all categories from this object.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.Merge(Microsoft.VisualStudio.GraphModel.GraphObject)">
            <summary>
            Copy any new properties and categories from the given object, keeping existing
            property values and categories.
            </summary>
            <param name="other">The object to merge</param>
            <returns>True if this object was changed.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.CopyProperties(Microsoft.VisualStudio.GraphModel.GraphObject)">
            <summary>
            Copy any new properties  from the given object, keeping existing
            property values unchanged.
            </summary>
            <param name="other">The object from which to copy properties</param>
            <returns>True if this object was changed, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.CopyCategories(Microsoft.VisualStudio.GraphModel.GraphObject)">
            <summary>
            Copy any new categories  from the given object, keeping existing categories.
            </summary>
            <param name="other">The object from which to copy categories</param>
            <returns>True if any categories were changed, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.AsNode">
            <summary>
            Converts the GraphObject to a GraphNode.  If this is a GraphGroup, the inner node is returned.
            For types other than GraphNode/Group, null is returned.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphObject.IsGroup">
            <summary>
            Get whether this object is is a group. It looks for the GraphCommonSchema.Group property on the object. 
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphObject.Visibility">
            <summary>
            Helper property to get/set visibility property of a GraphObject
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphObject.IsPseudo">
            <summary>
            Get whether this object is Pseudo.  It looks for the GraphProperties.IsPseudo
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.OnPropertyChanged(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Raise a PropertyChangd event for the given GraphProperty
            </summary>
            <param name="property">The GraphProperty that changed.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.OnPropertyChanged(System.String)">
            <summary>
            Raise a PropertyChangd event for the named property
            </summary>
            <param name="name">The name of the property that changed.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.RaiseCategoryChanged(Microsoft.VisualStudio.GraphModel.GraphCategory,Microsoft.VisualStudio.GraphModel.GraphCategoryChangeType)">
            <summary>
            Raises the category changed event.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphObject.FindAllAncestorCategories(System.Collections.Generic.HashSet{Microsoft.VisualStudio.GraphModel.GraphCategory})">
            <summary>
             This method returns a collection of categories and their ancestor categories of the current node
            </summary>
            <returns>Collection of categories and ancestor categories.</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphObjectChangedEventArgs">
            <summary>
            These event args are used by the GraphNodeCollection and GraphLinkCollection Added and Removed events so you can 
            track which nodes and links are added and removed from the graph.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphProperty">
            <summary>
            Graph Properties are used to annotate a GraphObject, like nodes and links.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphProperty._id">
            <summary>
            unique id for the GraphProperty
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphProperty._dataType">
            <summary>
            The type of the property values.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphProperty.Id">
            <summary>
            Unique Id of this GraphProperty
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphProperty.GetLabelOrId(Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Return the Label of this GraphCategory or else return the ID 
            if no label was set
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphProperty.DataType">
            <summary>
            Type of data associated with this GraphProperty
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphProperty.#ctor(System.String,System.Type,System.Func{Microsoft.VisualStudio.GraphModel.GraphMetadata})">
            <summary>
            Private constructor for GraphProperty
            </summary>
            <param name="id">Unique Id</param>
            <param name="dataType">The data type</param>
            <param name="callback">The callback that can lazily create the metadata for this property</param>
            <exception cref="T:System.ArgumentNullException">thrown if id is null</exception>
            <exception cref="T:System.InvalidOperationException">thrown if id is empty string</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphProperty.GetHashCode">
            <summary>
            Gets the hash code for this object
            </summary>
            <returns>The hash code of the Id for this property</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphProperty.Equals(System.Object)">
            <summary>
            Determines if this property is equivalent to another
            </summary>
            <remarks>If the passed-in object isn't a GraphProperty, then false is returned</remarks>
            <param name="obj">The other property to compare against</param>
            <returns>True if the objects have the same Id, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphProperty.ToString">
            <summary>
            The string representation of this GraphProperty
            </summary>
            <returns>The Id in string form</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphPropertyTypeConverter">
            <summary>
            Type converter for the GraphProperty type
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPropertyTypeConverter.#ctor">
            <summary>
            Constructor for the GraphPropertyTypeConverter class.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPropertyTypeConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Determine if this converter can conver from the passed-in type
            </summary>
            <remarks>
            Overrides the CanConvertFrom method of TypeConverter.
            The ITypeDescriptorContext interface provides the context for the
            conversion. Typically, this interface is used at design time to 
            provide information about the design-time container.
            </remarks>
            <param name="context">Context for the conversion (ignored and simply passed to base implementation)</param>
            <param name="sourceType">The type to convert from</param>
            <returns>True if the type to convert from is a string, otherwise the base implementation is called to handle the request</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPropertyTypeConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <summary>
            Converts from the passed in value object using the passed in culture information
            </summary>
            <param name="context">The context for the conversion (ignored)</param>
            <param name="culture">The culture for the conversion (ignored)</param>
            <param name="value">The value to convert from if it is a string type, otherwise the base implementation is called to handle the request</param>
            <returns>The converted value</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPropertyTypeConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
            <summary>
            Converts a GraphProperty to the requested type, if supported
            </summary>
            <param name="context">The context for the conversion (ignored)</param>
            <param name="culture">The culture for the conversion (ignored)</param>
            <param name="value">The GraphProperty object to convert from</param>
            <param name="destinationType">The type to convert to</param>
            <returns>The converted object, if the destination type is a string, otherwise calls the base implementation to handle the request</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphConverterContext">
            <summary>
            This class implements ITypeDescriptorContext which can be passed into TypeConverter.ConvertFromString so that the
            GraphPropertyTypeConverter can find the Graph instance.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphPropertyCollection._graphProperties">
            <summary>
            Storage of all registered GraphProperty objects
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPropertyCollection.System#Collections#Generic#IEnumerable{Microsoft#VisualStudio#GraphModel#GraphProperty}#GetEnumerator">
            <summary>
            Returns an enumerator for the graph properties
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPropertyCollection.GetEnumerator">
            <summary>
            Returns an enumerator for the graph properties
            </summary>
            <returns></returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphPropertyCollection.Count">
            <summary>
            Gets the number of elements contained in the GraphProperties collection
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphPropertyCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the GraphProperties collection is Read-only
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPropertyCollection.Add(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Adds an item to the GraphProperties collection
            </summary>
            <param name="item">The item to add</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPropertyCollection.Clear">
            <summary>
            Removes all items from the collection
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPropertyCollection.Contains(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Determines whether the collection contains a specific value
            </summary>
            <param name="item">The item to search for.</param>
            <returns>True if item is found in the collection otherwise, false.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPropertyCollection.CopyTo(Microsoft.VisualStudio.GraphModel.GraphProperty[],System.Int32)">
            <summary>
            Copies the elements of the collection to a System.Array, starting at a particular System.Array index
            </summary>
            <param name="array">The one-dimensional System.Array that is the destination of the elements
                copied from collection. The System.Array must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in array at which copying begins.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPropertyCollection.Remove(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Removes the first occurrence of a specific object from the collection
            </summary>
            <param name="item">The object to remove from the collection</param>
            <returns>True if item was successfully removed from the collection
                otherwise, false. This method also returns false if item is not found in
                the original collection.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPropertyCollection.AddNewProperty(System.String,System.Type)">
            <summary>
            Registers a new GraphProperty with the default metadata creator.
            </summary>
            <param name="id">Unique Id of the GraphProperty</param>
            <param name="dataType">The type for data associated with the GraphProperty</param>
            <returns>The newly registered GraphProperty object</returns>
            <exception cref="T:System.ArgumentNullException">thrown if id is null</exception>
            <exception cref="T:System.InvalidOperationException">thrown if id is empty string</exception>
            <exception cref="T:System.ArgumentNullException">thrown if dataType is null</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPropertyCollection.AddNewProperty(System.String,System.Type,System.Func{Microsoft.VisualStudio.GraphModel.GraphMetadata})">
            <summary>
            Registers a new GraphProperty
            </summary>
            <param name="id">Unique Id of the GraphProperty</param>
            <param name="dataType">The type for data associated with the GraphProperty</param>
            <param name="callback">The callback that can lazily create the metadata for this property</param>
            <returns>The newly registered GraphProperty object</returns>
            <exception cref="T:System.ArgumentNullException">thrown if id is null</exception>
            <exception cref="T:System.InvalidOperationException">thrown if id is empty string</exception>
            <exception cref="T:System.ArgumentNullException">thrown if dataType is null</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPropertyCollection.GetPropertyPrivate(System.String)">
            <summary>
            Gets the GraphProperty with the specified id
            </summary>
            <param name="id">Unique Id of the GraphProperty to get</param>
            <returns>The matching GraphProperty, or null if not found</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPropertyCollection.GetPropertiesPrivate(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Gets the GraphProperties with the specified ids
            </summary>
            <param name="idList">Unique ids of the GraphProperties to get</param>
            <returns>The matching GraphProperties</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphPropertyCollection.Properties">
            <summary>
            Gets the GraphProperties
            </summary>
            <returns>The GraphProperties</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphSchema">
            <summary>
            A GraphSchema is a simple container of a set of GraphCategory and GraphProperty objects
            and the GraphMetadata associated with them.  
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphSchema.Categories">
            <summary>
            All the GraphCategory objects that are registered with this schema.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphSchema.Properties">
            <summary>
            All the GraphProperty objects that are registered with this schema.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphSchema.Owner">
            <summary>
            If this is a Document Schema then this owner points to the Graph that owns this schema.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphSchema.Name">
            <summary>
            The programatic name of this schema.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphSchema.IsDocumentSchema">
            <summary>
            Whether this is the document schema associated with a Graph instance for holding deserialized 
            categories and properties that were not defined anywhere else.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphSchema._schemas">
            <summary>
            The set of schemas associated with the Graph
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphSchema.VersionNumber">
            <summary>
            The version of the last change to this schema or any of its child schemas.
            </summary>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.GraphSchema.VersionChanged">
            <summary>
            Raised when the VersionNumber changes.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSchema.#ctor(Microsoft.VisualStudio.GraphModel.Graph,System.String)">
            <summary>
            Construct new GraphSchema object
            </summary>
            <param name="owner">Whether this is the document schema associated with a Graph instance for holding deserialized 
            categories and properties that were not defined anywhere else</param>
            <param name="name">The programatic name of the schema</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSchema.#ctor(System.String)">
            <summary>
            Construct new global GraphSchema object with no owner.  These are usually static instances.
            </summary>
            <param name="name">The programatic name of the schema</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSchema.AddSchema(Microsoft.VisualStudio.GraphModel.GraphSchema)">
            <summary>
            Add a child schema to this GraphSchema
            </summary>
            <param name="schema">The child to add</param>
            <exception cref="T:Microsoft.VisualStudio.GraphModel.GraphException">If this schema is a child of the given schema or if this schema IsDocumentSchema</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSchema.Contains(Microsoft.VisualStudio.GraphModel.GraphSchema)">
            <summary>
            Return true if this schema contains the given schema as a child or grand child.
            </summary>
            <param name="schema"></param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphSchema.Schemas">
            <summary>
            Return a list of the child schemas contained in this schema (not including grand children).
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSchema.FindCategory(System.String)">
            <summary>
            Gets the GraphCategory with the specified id by searching this schema and all of its children recurrsively.
            </summary>
            <param name="id">Unique Id of the GraphCategory to get</param>
            <returns>The matching GraphCategory, or null if not found</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSchema.VisitSchemas(System.Predicate{Microsoft.VisualStudio.GraphModel.GraphSchema})">
            <summary>
            Helper method that visits all known schemas reachable from this schema.
            </summary>
            <param name="terminationCondition">A predicate that is executed for each schema that returns true when you want the visitor to stop searching</param>
            <returns>True if the termination condition was reached</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSchema.FindCategoryByLabel(System.String)">
            <summary>
            Gets the first GraphCategory with the specified label from this schema or any sub schema.
            </summary>
            <param name="label">The label to search for</param>
            <returns>The first category with the given label. Null if no category was found.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSchema.FindCategories(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Gets all the GraphCategories with the specified ids in this schema and all 
            child schemas recurrsively.
            </summary>
            <param name="idList">Unique ids of the GraphCategories to get</param>
            <returns>The matching GraphCategories</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSchema.FindProperty(System.String)">
            <summary>
            Gets the GraphProperty with the specified id
            </summary>
            <param name="id">Unique Id of the GraphProperty to get</param>
            <returns>The matching GraphProperty, or null if not found</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSchema.FindPropertyByLabel(System.String)">
            <summary>
            Gets the first GraphProperty with the specified label from this schema or any sub schema.
            </summary>
            <param name="label"></param>
            <returns>The first property with the given label. Null if no property was found.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSchema.FindProperties(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Gets the GraphProperties with the specified ids and all 
            child schemas recurrsively.
            </summary>
            <param name="idList">Unique ids of the GraphProperties to get</param>
            <returns>The matching GraphProperties</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSchema.OverrideMetadata(Microsoft.VisualStudio.GraphModel.GraphMetadataContainer,System.Action{Microsoft.VisualStudio.GraphModel.GraphMetadata})">
            <summary>
            Override the metadata for this category
            </summary>
            <param name="container">The property or category whose metadata is being overriden.</param>
            <param name="additionalSetters">An action that sets more properties on the GraphMetadata that is created by the callback associated with this category</param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphSearchOption">
            <summary>
            This enum defines the choices you have when searching the graph 
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphSearchOption.LinkCategory">
            <summary>
            Search based on matching link categories
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphSearchOption.NodeCategory">
            <summary>
            Search based on matching node categories.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphCategoryMatchOption">
            <summary>
            This enum defines options that you have when matching categories
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphCategoryMatchOption.Exact">
            <summary>
            The categories only match if the exact category is found on the graph object you are searching
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphCategoryMatchOption.Inherited">
            <summary>
            The categories match if the graph object you are searching has the given category or sub category that inherits from the given category
            as defined by the BasedOnCategory property.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphSerializationSettings">
            <summary>
            Settings for serializing a graph.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphSerializationSettings.Sort">
            <summary>
            Sets whether or not the serializer should sort elements before serializing.
            Default is true. Set this to false for better performance but less readability.
            </summary>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.GraphSerializationSettings.ErrorHandler">
            <summary>
            Raised when an exception happens during serialization.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphSerializationSettings.GraphNodeIdMapper">
            <summary>
            Converts one GraphNodeId to another before serializing it.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs">
            <summary>
            Represents the current progress that the deserializer has made in deserializing
            the input.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs.Max">
            <summary>
            The total number of elements the deserializer must handle to load the Graph.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs.Current">
            <summary>
            The number of elements that have been deserialized so far.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs.Message">
            <summary>
            User-friendly message that surfaces the current state of the deserializer.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphSerializer">
            <summary>
            GraphSerializer is used to serialize Graph objects.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphSerializer._graph">
            <summary>
            The Graph to serialize
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphSerializer.Xmlns">
            <summary>
            Xml namespace identifier
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.AddSchemas(Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Adds schemas to the graph before deserialization starts
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.#ctor">
            <summary>
            Constructs a GraphSerializer object
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.#ctor(Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Constructs a GraphSerializer object for the passed in Graph
            </summary>
            <param name="graph">The Graph to serialize</param>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphSerializer._paths">
            <summary>
            The private storage for common paths used to map entities
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphSerializer._pathSub">
            <summary>
            The path substitution storage for serializing paths
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphSerializer.CommonPaths">
            <summary>
            Get/Set the static CommonPaths used to map entities in the DGML documents.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphSerializer.GraphNodeIdMapper">
            <summary>
            Get or set an optional delegate that can be used to re-write the GraphNodeId's during serialization.
            For example, you might want to build a new GraphNodeId that is more or less precise than the ones
            in the graph being serialized so that the serialized graph meshes better with other graphs that
            you've serialized before.  One specific application of this idea is to remove an AssemblyName part
            which points to a specific file on disc (which is obviously machine specific) with a StrongName
            instead so that the graphs are comparible across machines - which is handy in test scenarios.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Load(System.String,System.EventHandler{Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs},Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Deserialize the graph object model from the given file.
            </summary>
            <param name="fileName">The file to deserialize</param>
            <param name="progressHandler">Callback handler for reporting load progress</param>
            <param name="schemas">Schemas to load into the graph before starting deserialization</param>
            <returns>New deserialized Graph object</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Load(System.IO.Stream,System.EventHandler{Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs},Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Deserialize the graph object model from the given stream.
            </summary>
            <param name="stream">The stream to deserialize</param>
            <param name="progressHandler">Callback handler for reporting load progress</param>
            <param name="schemas">Schemas to load into the graph before starting deserialization</param>
            <returns>New deserialized Graph object</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Load(System.IO.TextReader,System.EventHandler{Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs},Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Deserialize the graph object model from the given text reader.
            </summary>
            <param name="reader">The reader to read from</param>
            <param name="progressHandler">Callback handler for reporting load progress</param>
            <param name="schemas">Schemas to load into the graph before starting deserialization</param>
            <returns>New deserialized Graph object</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Load(System.Xml.XmlReader,System.EventHandler{Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs},Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Deserialize the graph object model from the given XML reader.
            </summary>
            <param name="reader">The reader to read from</param>
            <param name="progressHandler">Callback handler for reporting load progress</param>
            <param name="schemas">Schemas to load into the graph before starting deserialization</param>
            <returns>New deserialized Graph object</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.LoadFromXmlReader(System.Xml.XmlReader,System.EventHandler{Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs},Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Deserialize the graph object model from the given XML reader.
            </summary>
            <param name="reader">The reader to read from</param>
            <param name="progressHandler">Callback handler for reporting load progress</param>
            <param name="schemas">Schemas to load into the graph before starting deserialization</param>
            <returns>New deserialized Graph object</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Load(System.Xml.Linq.XDocument,System.EventHandler{Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs},Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Deserialize the graph object model from the given XDocument.
            </summary>
            <param name="doc">The XDocument to deserialize</param>
            <param name="progressHandler">Callback handler for reporting load progress</param>
            <param name="schemas">Schemas to load into the graph before starting deserialization</param>
            <returns>New deserialized Graph object</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Load(System.Xml.Linq.XDocument,Microsoft.VisualStudio.GraphModel.Graph,System.EventHandler{Microsoft.VisualStudio.GraphModel.GraphDeserializationProgressEventArgs},Microsoft.VisualStudio.GraphModel.GraphSchema[])">
            <summary>
            Deserialize the graph object model from the given XDocument into the given graph object.
            </summary>
            <param name="doc">The XDocument to deserialize</param>
            <param name="graph">The Graph to deserialize into</param>
            <param name="progressHandler">Callback handler for reporting load progress</param>
            <param name="schemas">Schemas to load into the graph before starting deserialization</param>
            <returns>New deserialized Graph object</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Deserialize(System.Xml.Linq.XDocument)">
            <summary>
            Deserialize the graph from the given XDocument object
            </summary>
            <param name="doc">The XDocument to deserialize</param>
            <returns>The new deserialized Graph object</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Deserialize(System.Xml.Linq.XDocument,System.String)">
            <summary>
            Deserialize the graph from the given XDocument object
            </summary>
            <param name="doc">The XDocument to deserialize</param>
            <param name="baseUri">The base Uri set on the deserialized Graph object</param>
            <returns>The new deserialized Graph object</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializePaths(System.Xml.Linq.XElement)">
            <summary>
            Reads the path definitions and re-writes them according to the current CommonPaths
            </summary>
            <param name="paths">The original path definitions to replace</param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphSerializer.DummyPropertyHolder">
            <summary>
            Dummy annotatable class for holding deserialization data.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializeNodes(System.Xml.Linq.XElement)">
            <summary>
            Deserialize the nodes
            </summary>
            <param name="nodes">The Nodes to deserialize</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializeNode(System.Xml.Linq.XElement)">
            <summary>
            Deserialize a single node
            </summary>
            <param name="element">The XElement for the Node</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializeAttributes(Microsoft.VisualStudio.GraphModel.GraphObject,System.Xml.Linq.XElement,System.Collections.Generic.IDictionary{System.String,System.Boolean})">
            <summary>
            Deserialize the properties defined on a given XElement and add them to the given container.
            </summary>
            <param name="container">The owing graph object for the given element</param>
            <param name="element">The XElement to deserialize</param>
            <param name="exceptions">The attributes to exclude from deserialization</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializeLinks(System.Xml.Linq.XElement)">
            <summary>
            Deserialize all the links in the graph
            </summary>
            <param name="links">XElement to deserialize</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializeLink(System.Xml.Linq.XElement)">
            <summary>
            Deserialize a single link
            </summary>
            <param name="element">The XElement to deserialize</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializeCategoryRefs(Microsoft.VisualStudio.GraphModel.GraphObject,System.Xml.Linq.XElement)">
            <summary>
            Deserialize child Category references
            </summary>
            <param name="container">The GraphObject owning the references</param>
            <param name="element">Thje XElement to deserialize</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.GetOrRegisterProperty(System.String,System.Type)">
            <summary>
            Get or register a property with the given id.
            </summary>
            <param name="id">The Id of the property to get or register</param>
            <param name="dataType">The type of the property</param>
            <returns>The registered property, null if the id is null or empty</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.GetOrRegisterCategory(System.String)">
            <summary>
            Get or register a category with the given Id.
            </summary>
            <param name="id">The category Id to register or get</param>
            <returns>The registered category, null if the Id is null or empty</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.FixupCategoryParents">
            <summary>
            Resolve the BasedOn attributes to wire up property inheritance.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializeCategories(System.Xml.Linq.XElement)">
            <summary>
            Deserialize the categories definitions.
            </summary>
            <param name="element">The XDElement to deserialize</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializeProperties(System.Xml.Linq.XElement)">
            <summary>
            Deserialize the property definitions.
            </summary>
            <param name="element">The XElement to deserialize</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializeProperty(System.Xml.Linq.XElement)">
            <summary>
            Deserialize a GraphProperty
            </summary>
            <param name="element">The XElement to deserialize</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializePropertyAttributes(System.Xml.Linq.XElement)">
            <summary>
            Deserialize the attributes of a property.
            </summary>
            <param name="element">The element to deserialize the properties from.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializeGraphNodeIdNames(System.Xml.Linq.XElement)">
            <summary>
            Deserialize the GraphNodeIdName
            </summary>
            <param name="element">The xml element to deserialize</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializeGraphNodeIdName(System.Xml.Linq.XElement)">
            <summary>
            Deserialize a GraphNodeIdName
            </summary>
            <param name="element">The xml element to deserialize</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializeCategory(System.Xml.Linq.XElement)">
            <summary>
            Deserialize a GraphCategory
            </summary>
            <param name="element">The XElement to deserialize</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.GetCaptionOrLabelAttribute(System.Xml.Linq.XElement)">
            <summary>
            Get a caption or label attribute
            </summary>
            <param name="element">The element to look for attribute</param>
            <returns>The attribute value if found, null otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.GetAttribute(System.Xml.Linq.XElement,System.String)">
            <summary>
            Get the value of the attribute
            </summary>
            <param name="element">The element to look for attribute</param>
            <param name="name">The name of the attribute to find</param>
            <returns>The attribute value if found, null otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializeStyles(System.Xml.Linq.XElement)">
            <summary>
            Deserialize the Styles
            </summary>
            <param name="styles">The XElement to deserialize</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializeStyle(System.Xml.Linq.XElement)">
            <summary>
            Deserialize a Style
            </summary>
            <param name="style">The XElement to deserialize</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializeCondition(Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle,System.Xml.Linq.XElement)">
            <summary>
            Deserialize a condition
            </summary>
            <param name="style">The style which owns the condition</param>
            <param name="condition">The XElement to deserialize</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.DeserializeSetter(Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle,System.Xml.Linq.XElement)">
            <summary>
            Deserialize a setter
            </summary>
            <param name="style">The style which owns the setter</param>
            <param name="setter">Tnhe XElement to deserialize</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.InitializeProgress(System.Xml.Linq.XDocument)">
            <summary>
            Initializes progress reporting.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SetProgressMessage(System.String)">
            <summary>
            Sets the current message to output with progress reporting.  Immediately reports
            progress to indicate the change.
            </summary>
            <param name="msg"></param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.IncrementProgress">
            <summary>
            Increments the progress and sends a progress report if the required threshold has passed.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SendProgress">
            <summary>
            Sends the current progress.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Save(Microsoft.VisualStudio.GraphModel.Graph,System.String)">
            <summary>
            Serialize the given graph to the given file name.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="fileName">The file to create</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Save(Microsoft.VisualStudio.GraphModel.Graph,System.String,System.Xml.XmlWriterSettings)">
            <summary>
            Serialize the given graph to the given file name.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="fileName">The file to create</param>
            <param name="writerSettings">Optional writer settings</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Save(Microsoft.VisualStudio.GraphModel.Graph,System.String,Microsoft.VisualStudio.GraphModel.GraphSerializationSettings)">
            <summary>
            Serialize the given graph to the given file name.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="fileName">The file to create</param>
            <param name="settings">The serialization settings.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Save(Microsoft.VisualStudio.GraphModel.Graph,System.String,Microsoft.VisualStudio.GraphModel.GraphSerializationSettings,System.Xml.XmlWriterSettings)">
            <summary>
            Serialize the given graph to the given file name.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="fileName">The file to create</param>
            <param name="settings">The serialization settings.</param>
            <param name="writerSettings">Optional writer settings</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Save(Microsoft.VisualStudio.GraphModel.Graph,System.IO.Stream)">
            <summary>
            Serialize the given graph to the given output stream.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="outputStream">The stream to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Save(Microsoft.VisualStudio.GraphModel.Graph,System.IO.Stream,System.Xml.XmlWriterSettings)">
            <summary>
            Serialize the given graph to the given output stream.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="outputStream">The stream to write to</param>
            <param name="writerSettings">Optional writer settings</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Save(Microsoft.VisualStudio.GraphModel.Graph,System.IO.Stream,Microsoft.VisualStudio.GraphModel.GraphSerializationSettings)">
            <summary>
            Serialize the given graph to the given output stream.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="outputStream">The stream to write to</param>
            <param name="settings">The serialization settings.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Save(Microsoft.VisualStudio.GraphModel.Graph,System.IO.Stream,Microsoft.VisualStudio.GraphModel.GraphSerializationSettings,System.Xml.XmlWriterSettings)">
            <summary>
            Serialize the given graph to the given output stream.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="outputStream">The stream to write to</param>
            <param name="settings">The serialization settings.</param>
            <param name="writerSettings">Optional writer settings</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Save(Microsoft.VisualStudio.GraphModel.Graph,System.IO.TextWriter)">
            <summary>
            Serialize the given graph to the given text writer.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="textWriter">The text writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Save(Microsoft.VisualStudio.GraphModel.Graph,System.IO.TextWriter,System.Xml.XmlWriterSettings)">
            <summary>
            Serialize the given graph to the given text writer.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="textWriter">The text writer to write to</param>
            <param name="writerSettings">Optional writer settings</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Save(Microsoft.VisualStudio.GraphModel.Graph,System.IO.TextWriter,Microsoft.VisualStudio.GraphModel.GraphSerializationSettings)">
            <summary>
            Serialize the given graph to the given text writer.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="textWriter">The text writer to write to</param>
            <param name="settings">The serialization settings.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Save(Microsoft.VisualStudio.GraphModel.Graph,System.IO.TextWriter,Microsoft.VisualStudio.GraphModel.GraphSerializationSettings,System.Xml.XmlWriterSettings)">
            <summary>
            Serialize the given graph to the given text writer.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="textWriter">The text writer to write to</param>
            <param name="settings">The serialization settings.</param>
            <param name="writerSettings">Optional writer settings</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Save(Microsoft.VisualStudio.GraphModel.Graph,System.IO.TextWriter,System.Int32)">
            <summary>
            Serialize the given graph to the given text writer.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="textWriter">The text writer to write to</param>
            <param name="graphNodeIdAliasThreshold">Number of occurrences of repeated identifiers before they are aliased</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Save(Microsoft.VisualStudio.GraphModel.Graph,System.IO.TextWriter,System.Int32,System.Xml.XmlWriterSettings)">
            <summary>
            Serialize the given graph to the given text writer.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="textWriter">The text writer to write to</param>
            <param name="graphNodeIdAliasThreshold">Number of occurrences of repeated identifiers before they are aliased</param>
            <param name="writerSettings">Optional writer settings</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Save(Microsoft.VisualStudio.GraphModel.Graph,System.Xml.XmlWriter)">
            <summary>
            Serialize the given graph to the given XML writer.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="xmlWriter">The XML writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SaveWithXmlWriter(Microsoft.VisualStudio.GraphModel.Graph,System.Xml.XmlWriter,Microsoft.VisualStudio.GraphModel.GraphSerializationSettings)">
            <summary>
            Serialize the given graph to the given XML writer.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="xmlWriter">The XML writer to write to</param>
            <param name="settings">The serialization settings.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SaveWithXmlWriter(Microsoft.VisualStudio.GraphModel.Graph,System.Xml.XmlWriter,System.Int32)">
            <summary>
            Serialize the given graph to the given XML writer.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="xmlWriter">The XML writer to write to</param>
            <param name="graphNodeIdAliasThreshold">Number of occurrences of repeated identifiers before they are aliased</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.Serialize(Microsoft.VisualStudio.GraphModel.Graph,System.Xml.XmlWriter)">
            <summary>
            Serialize the given graph to the given XML writer.
            The Graph is to serialize is a member of this class.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="writer">The XML writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeUsingXmlWriter(Microsoft.VisualStudio.GraphModel.Graph,System.Xml.XmlWriter)">
            <summary>
            Serialize the given graph to the given XML writer.
            The Graph is to serialize is a member of this class.
            </summary>
            <param name="graph">The Graph to serialize</param>
            <param name="writer">The XML writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializePaths(System.Xml.XmlWriter)">
            <summary>
            When all paths have been serialized, this method
            </summary>
            <param name="writer">The writer to write to</param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphSerializer.GraphSerializedIdentifier">
            <summary>
            Represent a current index + usage count for a GraphNodeId
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.GetQIString(System.Text.StringBuilder,System.Func{Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphNodeId},System.Collections.Generic.Dictionary{Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphSerializer.GraphSerializedIdentifier},Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Gets a string that represents this GraphNodeId - either from the _serializedIdentifiers
            or out of the GraphNodeId itself.
            </summary>
            <param name="sb">A string builder to aid in getting the string form</param>
            <param name="mapper">An optional delegate for re-mapping qualified identifiers </param>
            <param name="serializedIdentifiers">Previously serialized identifiers which may contain the identifier string form already</param>
            <param name="identifier">The GraphNodeId to conver to string form</param>
            <returns>The string form of the GraphNodeId</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.GetGraphNodeIdString(Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Gets the serialized node ID for the specified GraphNodeId
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphSerializer._lastIdentifier">
            <summary>
            Private storage for the last identifier
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.PrepareSerializedIdentifierTable">
            <summary>
            Serialize the node collection sorted by node id.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.StoreSerializedIdentifier(Microsoft.VisualStudio.GraphModel.GraphNodeId,System.Int32@)">
            <summary>
            Store a GraphNodeId in the serialization table.
            </summary>
            <param name="id">The GraphNodeId to store in the serialization table</param>
            <param name="nextOrder">
            Ids should be sorted by dependency order to ensure property deserialization. This parameter
            maintains the order of the next GraphSerializedIdentifier to create.
            </param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeGraphNodeIds(System.Xml.XmlWriter)">
            <summary>
            Serialize the node collection sorted by node id.
            </summary>
            <param name="writer">The writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SubstituteAliases(Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Substitude any GraphNodeId used more than the threshold into an alias
            </summary>
            <param name="parent">The parent GraphNodeId (ignored)</param>
            <param name="child">The child GraphNodeId</param>
            <returns>The alias used to substitute the QID if substituted, null if substitution is not necessary</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SubstituteChildAliases(Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Substitude the child GraphNodeId from a GraphNodeId. Don't do it for the top one otherwise
            it will replace back to itself.  Only substitutes if the identifier is repeated.
            </summary>
            <param name="parent">The Parent identifier.  The method returns null if this is null.</param>
            <param name="child">The child identifier to subsitute if necessary</param>
            <returns>The alias used to substitute in place of the child identifier if necessary, null otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SubstituteCommonPaths(Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Substitute the common paths out of a URI
            </summary>
            <param name="parent">The parent identifier; should be null since URI's are always subsituted</param>
            <param name="child">The child identifier (URI)</param>
            <returns>The substituted common path </returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeNodes(System.Xml.XmlWriter)">
            <summary>
            Serialize the node collection sorted by node id.
            </summary>
            <param name="writer">The writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeNode(Microsoft.VisualStudio.GraphModel.GraphNode,System.Xml.XmlWriter)">
            <summary>
            Serialize a Node object to the given XmlWriter
            </summary>
            <param name="n">The Node to serialize</param>
            <param name="writer">The writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeAttributes(Microsoft.VisualStudio.GraphModel.GraphObject,System.Xml.XmlWriter,System.String[])">
            <summary>
            Serialize all the serializable properties on the given GraphObject to the given XmlWriter
            </summary>
            <param name="graphObject">The GraphObject which owns the properties to deserialize</param>
            <param name="writer">The writer to write to</param>
            <param name="exclude">List of properties to exclude</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeAttributes(Microsoft.VisualStudio.GraphModel.GraphObject,System.Xml.XmlWriter,System.Collections.Generic.HashSet{System.String})">
            <summary>
            Serialize the GraphObject's properties into the given XmlWriter, excluding those in the given HashSet
            </summary>
            <param name="graphObject">The GraphObject for which properties will be serialized</param>
            <param name="writer">The writer to write to</param>
            <param name="current">The already 'current' property ids (excluded from serialization)</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeLinks(System.Xml.XmlWriter)">
            <summary>
            Serialize all the links, sorted by source and target id.
            </summary>
            <param name="writer">The writer to write to</param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphSerializer.LinkComparer">
            <summary>
            A Link comparer that is optimized for memory and speed via a Node Id cache
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphSerializer.LinkComparer._working">
            <summary>
            Private storage to aid in the comparison of the Link
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphSerializer.LinkComparer._mapper">
            <summary>
            The node id remapper.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphSerializer.LinkComparer._cachedSerializedIdentifiers">
            <summary>
            Cached serialized identifiers
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.LinkComparer.#ctor(System.Text.StringBuilder,System.Func{Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphNodeId},System.Collections.Generic.Dictionary{Microsoft.VisualStudio.GraphModel.GraphNodeId,Microsoft.VisualStudio.GraphModel.GraphSerializer.GraphSerializedIdentifier})">
            <summary>
            Creates a LinkComparer with the given builder and cached identifiers
            </summary>
            <param name="sb">The string build to use as working storage</param>
            <param name="mapper">An optional delegate for re-mapping qualified identifiers </param>
            <param name="cachedSerializedIdentifiers">The serialized identifiers to aid in the comparison</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.LinkComparer.Compare(Microsoft.VisualStudio.GraphModel.GraphLink,Microsoft.VisualStudio.GraphModel.GraphLink)">
            <summary>
            Compares links
            </summary>
            <param name="x">The first link to compare</param>
            <param name="y">The second link to compare</param>
            <returns>0 if the links have the same source and target, otherwise compares source Ids or target Ids (in that order)</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeLink(Microsoft.VisualStudio.GraphModel.GraphLink,System.Xml.XmlWriter)">
            <summary>
            Serialize a Link object to the given XmlWriter
            </summary>
            <param name="link">The Link to serialize</param>
            <param name="writer">The writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeFirstCategoryRef(Microsoft.VisualStudio.GraphModel.GraphObject,System.Xml.XmlWriter)">
            <summary>
            Serialize the first category as an attribute
            </summary>
            <param name="container">The owner of the category to serialize</param>
            <param name="writer">The write to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeCategoryRefs(Microsoft.VisualStudio.GraphModel.GraphObject,System.Xml.XmlWriter)">
            <summary>
            Serialize additional child "Category" reference elements.
            </summary>
            <param name="container">The GraphObject which owns the Categories to serialize</param>
            <param name="writer">The writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeCategories(System.Xml.XmlWriter)">
            <summary>
            Serialize the sorted Categories collection
            </summary>
            <param name="writer">The writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeProperties(System.Xml.XmlWriter)">
            <summary>
            Serialize the sorted Properties collection
            </summary>
            <param name="writer">The writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeGraphNodeIdNames(System.Xml.XmlWriter)">
            <summary>
            Serialize the sorted Properties collection
            </summary>
            <param name="writer">The writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeCategory(Microsoft.VisualStudio.GraphModel.Graph,Microsoft.VisualStudio.GraphModel.GraphCategory,System.Xml.XmlWriter)">
            <summary>
            Serialize the given Category to the given XmlWriter
            </summary>
            <param name="graph">The Graph from which to retrieve metadata</param>
            <param name="category">The Category to serialize</param>
            <param name="writer">The writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeProperty(Microsoft.VisualStudio.GraphModel.GraphProperty,System.Xml.XmlWriter)">
            <summary>
            Serialize the given Property to the given XmlWriter
            </summary>
            <param name="property">The property to serialize</param>
            <param name="writer">The writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeGraphNodeIdName(Microsoft.VisualStudio.GraphModel.GraphNodeIdName,System.Xml.XmlWriter)">
            <summary>
            Serialize the given GraphNodeIdName to the given XmlWriter using the given XML element name
            </summary>
            <param name="name">The GraphNodeIdName to write</param>
            <param name="writer">The writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeStyles(System.Xml.XmlWriter)">
            <summary>
            Serialize the Styles
            </summary>
            <param name="writer">The writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeStyle(Microsoft.VisualStudio.GraphModel.Styles.GraphConditionalStyle,System.Xml.XmlWriter)">
            <summary>
            Serialize a ConditionalStyle
            </summary>
            <param name="style">The ConditionaStyle to serialize</param>
            <param name="writer">The writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeCondition(Microsoft.VisualStudio.GraphModel.Styles.GraphCondition,System.Xml.XmlWriter)">
            <summary>
            Serialize a Condition
            </summary>
            <param name="condition">The Condition to serialize</param>
            <param name="writer">Thw writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.SerializeSetter(Microsoft.VisualStudio.GraphModel.Styles.GraphSetter,System.Xml.XmlWriter)">
            <summary>
            Serialize a Setter
            </summary>
            <param name="setter">The Setter to serialize</param>
            <param name="writer">The writer to write to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.WriteAttributeStringWithSubstitution(System.Xml.XmlWriter,System.String,System.String)">
            <summary>
            Write the attribute value and escape any common paths.
            </summary>
            <param name="writer">The writer to write to</param>
            <param name="name">The attribute name to write</param>
            <param name="value">The value string to substitute</param>
            <returns>The aliased version of the value parameter</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializer.WriteAttributeString(System.Xml.XmlWriter,System.String,System.String)">
            <summary>
            Write the attribute value
            </summary>
            <remarks>This write without substituion</remarks>
            <param name="writer">The writer</param>
            <param name="name">The attribute name to write</param>
            <param name="value">The value of the attribute to write</param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphSerializationErrorEventArgs">
            <summary>
            This class is used to communicate serialization errors if the caller passes
            a handler to the serializer.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphSerializationErrorEventArgs._error">
            <summary>
            Private storage for the error exception wrapped in this class
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphSerializationErrorEventArgs.#ctor(System.Exception)">
            <summary>
            Constructs a SerializationErrorEventArgs wrapping the given exception
            </summary>
            <param name="error">The exception for this serialization error</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphSerializationErrorEventArgs.Error">
            <summary>
            Gets the exception wrapped by this SerializationErrorEventArgs object
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary">
            <summary>
            The CommonPaths provides a way to remap certain attribute values in the DGML.
            For example, it is nice to have a file path be relative to the solution so the file can be
            found when that solution is moved.  To solve this you can define a path called "SolutionDir"
            with the value of the full path.  Then the GraphSerializer will substitute this path wherever it is
            found in the DGML with the syntax "$(name)" where name is the Id of the path you provided and it will
            write out the definition of the paths that are used in a Paths block at the end of the file.
            <![CDATA[
               <DirectedGraph>
                 <Nodes>
                   <Node Id="$(vsinstalldir);\common7\ide\microsoft.visualstudio.dll"/>
                 </Nodes>
                 <Paths>
                   <Path Id="vsinstalldir" Value="c:\program files\Microsoft Visual Studio 10"/>
                 </Path>
               </DirectedGraph>
            ]]>
            When this DGML document is loaded the paths will be substituted with the values in the current
            CommonPaths and then all the variable references will be expanded with these new values.
            So this way a solution folder on your machine might be on the C: drive some place, and on the
            d: drive on another machine and everything will still just work as expected.
            </summary>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.CommonPathsAdded">
            <summary>
            This event can be used to inject custom common paths after AddCommonPaths is called.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.#ctor">
            <summary>
            Create empty list of common paths.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A System.Collections.Generic.IEnumerator that can be used to iterate through
            the collection.
            </returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.System#Collections#IEnumerable#GetEnumerator">
            <summary>
             Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A System.Collections.Generic.IEnumerator that can be used to iterate through
            the collection.
            </returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.IsReadOnly">
            <summary>
            Gets a value indicating whether the System.Collections.Generic.ICollection is read-only.
            </summary>
            <value>
            True if the System.Collections.Generic.ICollection is read-only; otherwise, false.
            </value>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.CopyTo(System.Collections.Generic.KeyValuePair{System.String,System.String}[],System.Int32)">
            <summary>
            Copies the elements of the System.Collections.Generic.ICollection to an
            System.Array, starting at a particular System.Array index.
            </summary>
            <param name="array">
            The one-dimensional System.Array that is the destination of the elements
            copied from System.Collections.Generic.ICollection. The System.Array must
            have zero-based indexing.
            </param>
            <param name="arrayIndex">
            The zero-based index in array at which copying begins.
            </param>
            <exception cref="T:System.ArgumentNullException">array is null</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">arrayIndex is less than 0.</exception>
            <exception cref="T:System.ArgumentException">
            array is multidimensional.-or-The number of elements in the source System.Collections.Generic.ICollection
            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:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.Contains(System.Collections.Generic.KeyValuePair{System.String,System.String})">
            <summary>
            Determines if the given link is in this collection.
            </summary>
            <param name="item">The item to search for.</param>
            <returns>True if this collection contains the given link.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.Clear">
            <summary>
            Removes all items from the System.Collections.Generic.ICollection.
            </summary>
            <exception cref="T:System.NotSupportedException">
            The System.Collections.Generic.ICollection is read-only.
            </exception>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.Keys">
            <summary>
            Gets an System.Collections.Generic.ICollection containing the keys of
            the System.Collections.Generic.IDictionary.
            </summary>
            <value>
             An System.Collections.Generic.ICollection containing the keys of the object
             that implements System.Collections.Generic.IDictionary.
            </value>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.Values">
            <summary>
            Gets an System.Collections.Generic.ICollection containing the values of
            the System.Collections.Generic.IDictionary.
            </summary>
            <value>
             An System.Collections.Generic.ICollection containing the values of the object
             that implements System.Collections.Generic.IDictionary.
            </value>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.Item(System.String)">
            <summary>
            Gets or sets the element with the specified key.
            </summary>
            <param name="key">
            The key of the element to get or set.
            </param>
            <returns>
            The element with the specified key.
            </returns>
            <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>
            <exception cref="T:System.NotSupportedException">The property is set and the System.Collections.Generic.IDictionary is read only</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.TryGetValue(System.String,System.String@)">
            <summary>
             Gets the value associated with the specified key.
            </summary>
            <param name="key">
            The key whose value to get.
            </param>
            <param name="value">
            When this method returns, the value associated with the specified key, if
            the key is found; otherwise, the default value for the type of the value
            parameter. This parameter is passed uninitialized.
            </param>
            <returns>
            True if the object that implements System.Collections.Generic.IDictionary
            contains an element with the specified key; otherwise, false.
            </returns>
            <exception cref="T:System.ArgumentNullException">
            key is null.
            </exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.ContainsKey(System.String)">
            <summary>
            Determines whether the System.Collections.Generic.IDictionary
            contains an element with the specified key.
            </summary>
            <param name="key">
            The key to locate in the System.Collections.Generic.IDictionary.
            </param>
            <returns>
            True if the System.Collections.Generic.IDictionary contains
            an element with the key; otherwise, false.
            </returns>
            <exception cref="T:System.ArgumentNullException">
            key is null.
            </exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.#ctor(Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary)">
            <summary>
            Create a copy of the CommonPaths from another object.
            </summary>
            <param name="other">The other object from which to copy paths</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.Add(System.Collections.Generic.KeyValuePair{System.String,System.String})">
            <summary>
            Add a path with the given name and value.  An empty path is ignored.
            Trailing slash is removed.
            </summary>
            <param name="item">The name/value pair item to add</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.Add(System.String,System.String)">
            <summary>
            Add a path with the given name and value.  An empty path is ignored.
            Trailing slash is removed.
            </summary>
            <param name="key">The name of the path</param>
            <param name="value">The value</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.Add(Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary)">
            <summary>
            Adds, but does not ovewrwrite, paths from the another list.
            </summary>
            <param name="other">The list to add from</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.Remove(System.Collections.Generic.KeyValuePair{System.String,System.String})">
            <summary>
            Removes the first occurrence of a specific object from the System.Collections.Generic.ICollection.
            </summary>
            <param name="item">
            The object to remove from the System.Collections.Generic.ICollection.
            </param>
            <returns>
            True if item was successfully removed from the System.Collections.Generic.ICollection;
            otherwise, false. This method also returns false if item is not found in
            the original System.Collections.Generic.ICollection.
            </returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.Remove(System.String)">
            <summary>
            Removes the first occurrence of a specific object from the System.Collections.Generic.ICollection.
            </summary>
            <param name="key">
            The item name to remove from the System.Collections.Generic.ICollection.
            </param>
            <returns>
            True if item was successfully removed from the System.Collections.Generic.ICollection;
            otherwise, false. This method also returns false if item is not found in
            the original System.Collections.Generic.ICollection.
            </returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.GetPath(System.String)">
            <summary>
            Get the value of the path with the given name.
            </summary>
            <param name="name">The name of the path registed via Add.</param>
            <returns>The name or null if it is not found</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.Names">
            <summary>
            Return a snapshot of the current path names
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.Count">
            <summary>
            Get the number of paths in the collection
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.LookupName(System.String)">
            <summary>
            Find the name of the path with the specified value
            </summary>
            <param name="value">The value to find (case insensitive) </param>
            <returns>The name of the path or null if it is not found</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.AddDefaultPaths">
            <summary>
            Add the default paths that we can find using the current process Environment.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary.GetEnvironmentFolderPath(System.Environment.SpecialFolder)">
            <summary>
            Environment.GetFolderPath() can throw exception in some cases, so use this helper method to ignore the exceptional ones.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphPathSerializer">
            <summary>
            This class re-writes string values using the path names in the given CommonPaths.
            It provides a Serialize method that substitutes paths with a $(name) syntax where the name
            is the name of the path as registered in the CommonPaths.  it also provides a Deserialize
            method that does the reverse.  When all Serialization is done you can query the Used property
            to get a list of just the paths that were used by the Serialize or Deserialize methods.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphPathSerializer._used">
            <summary>
            Private storage for used common paths
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphPathSerializer._augmented">
            <summary>
            This is the set of GraphSerializer.CommonPaths, augmented with the additional paths
            found in the DGML &lt;Paths&gt; section.  This is the set used during deserialization.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphPathSerializer._uris">
            <summary>
            The variable name -&gt; uri table
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphPathSerializer._builder">
            <summary>
            reused string builder
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphPathSerializer._multiTokenReplacement">
            <summary>
            Token replacement class, used for doing substitution of common path to aliases
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializer.#ctor(Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary)">
            <summary>
            Construct a new PathSerializer using the given CommonPaths collection.
            </summary>
            <param name="paths">The paths to handle with this serializer</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphPathSerializer.UsedPaths">
            <summary>
            Get the list of paths that were used by the combined calls to Deserialize() or Serialize().
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializer.Add(Microsoft.VisualStudio.GraphModel.GraphPathSerializationDictionary)">
            <summary>
            Add all the paths in the given collection.
            </summary>
            <param name="other">The common paths to add to this serializer</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializer.Add(System.String,System.String)">
            <summary>
            Add the paths in order sorted by length so we can prefer the longer path when serializing.
            </summary>
            <param name="key">The key for the sorted collection</param>
            <param name="value">The value for the sorted collection</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializer.AddInternal(System.String,System.String)">
            <summary>
            Add the given key/value pair to the sorted collection.
            </summary>
            <param name="key">The key for the sorted collection</param>
            <param name="value">The value for the sorted collection</param>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphPathSerializer._special">
            <summary>
            Special characters affecting serialization
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializer.Deserialize(System.String)">
            <summary>
            Deserialize the given path.
            </summary>
            <remarks>
            This method expands $(name) syntax with the full path defined in the CommonPaths.
            This method is performance critical which is why it is written like a scanner.
            </remarks>
            <param name="value">The path to deserialize</param>
            <returns>The deserialized value (path substituted)</returns>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphPathSerializer._smallestPathLength">
            <summary>
            By caching the smallest possible cache that this collection is holding
            we can later use this for short-circuiting Path matching algorithm
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializer.cachePathSmallestLengthIfSmallest(System.String)">
            <summary>
            Helper method for abstracting the cache property and algorithm
            </summary>
            <param name="pathValue">The path value to cache (if smallest)</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializer.SerializeWithSubstitution(System.String)">
            <summary>
            Serialize the given text with substitution of paths
            </summary>
            <param name="text">The string to serialize</param>
            <returns>The serialized string</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializer.Serialize(System.String)">
            <summary>
            Serialize the given text as a path does NOT attempt to substitue the content
            </summary>
            <param name="text">Value to serialize</param>
            <returns>The serialized string</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphPathSerializer.InternalSerialize(System.String,System.Boolean)">
            <summary>
            This method replaces a matching full path defined in the CommonPaths with the
            short hand syntax $(name) where name is the registered name for the matching path.
            </summary>
            <param name="text">Value to serialize</param>
            <param name="applySubstitution">True is Value needs to be inspected for substitution</param>
            <returns>The serialized string</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.IEnlistableNotify">
            <summary>
            Interface used to notify parent objects of changes.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IEnlistableNotify.Committed(Microsoft.VisualStudio.GraphModel.IIsolatorObject)">
            <summary>
            Called when changes are committed
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IEnlistableNotify.RolledBack(Microsoft.VisualStudio.GraphModel.IIsolatorObject)">
            <summary>
            Called when changes are rolled back.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.IEnlistableObject">
            <summary>
            Interface that makes an object 'enlistable'
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IEnlistableObject.Parent">
            <summary>
            The parent transaction
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IEnlistableObject.Lock">
            <summary>
            Locks the transaction
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IEnlistableObject.VerifyChanges(Microsoft.VisualStudio.GraphModel.IIsolatorObject)">
            <summary>
            Verifies the changes in the transaction
            </summary>
            <param name="isolationObject">The isolation object</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IEnlistableObject.CommitChanges(Microsoft.VisualStudio.GraphModel.IIsolatorObject)">
            <summary>
            Commits the changes in the transaction
            </summary>
            <param name="isolationObject">The isolation object containing the changes we are comitting</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IEnlistableObject.RollbackChanges(Microsoft.VisualStudio.GraphModel.IIsolatorObject)">
            <summary>
            This is called if the transaction is rolled back.
            </summary>
            <param name="isolationObject">The isolation object containing the changes we are reverting</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IEnlistableObject.Unlock">
            <summary>
            Unlocks the transaction
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.IIsolatorObject">
            <summary>
            Interface for Isolator objects
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IIsolatorObject.AddedObjects">
            <summary>
            Getter for added objects
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IIsolatorObject.RemovedObjects">
            <summary>
            Getter for removed objects
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment">
             <summary>
             Contains the enlistment information for the transaction.
             The enlistment contains a list of enlistable objects. Each enlistable object also has a corresponding
             isolation object (the isolator).
            
             During write operations, changes are never directly applied to the enlistable object (e.g. a TransactedList),
             but is instead kept as a change set in the isolation object. (e.g. the TransactedListIsolator).
            
             During read operations, enlistable object retrieve the applicable isolation object from the enlistment (as
             defined by the current transaction on the thread). The view of the enlistable object and the data from the isolator
             is then merged to provide a merged view of the underlying enlistable object and the isolated changes.
            
             During commit, the set of enlisted objects are enumerated, and the corresponding isolator change is applied to it.
            
             In the case of Refactoring of GraphUndo we had extracted the Dictionary from GraphTransactionEnlistment to IGraphTransactionEnlistment
            
             Interesting functions:
             ----------------------
             static GetOrCreateEnlistment() - Get/Create an enlistment based on the transaction on the thread
                    GetOrCreateIsolator()   - Get/Add an enlistable object to the enlistment and return the isolator object for it.
             static TryGetIsolatorForRead() - See if there is a transaction on the thread, and check whether this object is already
                                              enlisted in it. If so, return the isolator. If not, return null.
             </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment._enlistableObjectsAndIsolators">
            <summary>
            Private dictionary for the set of all enlistable objects in the enlistment,
            and for each, the isolator object that maintain the relevant per-transaction
            isolation data for the object.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment._preparedEnlistableObjectsAndIsolators">
            <summary>
            This is the set of objects that responded that they have changes and are get locked.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment._enlistments">
            <summary>
            The set of all active Graph Transaction Enlistments across all transactions.
            </summary>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment.PreparingEnlistment">
            <summary>
            Event that is fired when a GraphTransactionEnlistment prepares changes to a graph
            </summary>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment.CommitChanges">
            <summary>
            Event that is fired when a GraphTransactionEnlistment commits changes to a graph
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment.Properties">
            <summary>
            dictionary of property values
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment.Dispose(System.Boolean)">
            <summary>
            Virtual implementation of Dispose
            </summary>
            <param name="disposing">True when called from IDisposable.Dispose, false otherwise</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment.Dispose">
            <summary>
            IDisposable.Dispose. This clears the current enlistment and if any objects are locked, unlocks them
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment._numberOfActiveEnlistments">
            <summary>
            Internal storage for the number of active enlistments.
            </summary>
            <remarks>
            We can optimize some paths when this is zero.
            </remarks>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment.TryGetIsolatorForRead(Microsoft.VisualStudio.GraphModel.IEnlistableObject)">
            <summary>
            See if the current thread is enlisted in a transaction, and if so if the specified object
            is part of that enlistment. If so, return the tracker for the enlistable object.
            This is a static method so that callers won't have to create a TransactionScope just to read.
            </summary>
            <param name="key">The object to enlist</param>
            <returns>The tracker</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment.Options">
            <summary>
            Get or set the current GraphTransactionScopeOptions
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment.GetIsolator``1(Microsoft.VisualStudio.GraphModel.IEnlistableObject)">
            <summary>
            Get existing isolator for the given key if we have one.
            </summary>
            <typeparam name="TIsolator"></typeparam>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment.GetOrCreateIsolator``1(Microsoft.VisualStudio.GraphModel.IEnlistableObject)">
            <summary>
            Check if the enlistable object has already been enlisted in the enlistment.
            If so, return the isolator for it. If not, create a new isolator and
            add the enlistable object and isolator to the enlistment.
            </summary>
            <typeparam name="TIsolator">The type of the isolator.</typeparam>
            <param name="key">The key of the enlistable object.</param>
            <returns>Returns the new or existing isolator object</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment.GetOrCreateEnlistment(System.Transactions.Transaction,System.Boolean)">
            <summary>
            Get or create an active Graph Transaction Enlistment for the current transaction on the thread
            </summary>
            <returns>The enlistment for this transaction</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment.UnlockEnlistment">
            <summary>
            Unlocks the current enlistment from the enlistment table.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment.ClearEnlistment">
            <summary>
            Clears the current enlistment from the enlistment table.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment._enlistedTransaction">
            <summary>
            The current transaction for this enlistment
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment.#ctor(System.Transactions.Transaction)">
            <summary>
            Create a new Graph Transaction Enlistment
            </summary>
            <param name="transaction">The transaction on which this enlistment will apply</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment.System#Transactions#IEnlistmentNotification#Commit(System.Transactions.Enlistment)">
            <summary>
            Called on the enlisted object when the transaction is being committed.
            </summary>
            <param name="enlistment">Used to indicates that the transaction participant has completed its work</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment.System#Transactions#IEnlistmentNotification#InDoubt(System.Transactions.Enlistment)">
            <summary>
            Notifies the enlisted object that the status of a transaction is in doubt.
            </summary>
            <param name="enlistment">Used to indicates that the transaction participant has completed its work</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment.System#Transactions#IEnlistmentNotification#Prepare(System.Transactions.PreparingEnlistment)">
            <summary>
            Notifies the enlisted object that a transaction is being prepared for commitment.
            </summary>
            <param name="preparingEnlistment">Used to indicates that the transaction participant has completed its work</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment.System#Transactions#IEnlistmentNotification#Rollback(System.Transactions.Enlistment)">
            <summary>
            Notifies the enlisted object that a transaction is being rolled back (aborted).
            </summary>
            <param name="enlistment">Used to indicates that the transaction participant has completed its work</param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphTransactionScopeOptions">
            <summary>
            Options for the GraphTransactionScope
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionScopeOptions.DisableEvents">
            <summary>
            This is for internal use only.  This option causes us to stop transacting certain changes.  Currently only supports turning off
            "Add" operations in the case where the item being added was not already changed during the transaction.  For example, this is
            used to stop lots of weird  change events being generated inside GraphNode and GraphLink constructors.  Instead, you get one event
            about that new node or link when it is added to the graph.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphTransactionScope">
            <summary>
            Represents a highly optimized wrapper around System.Transactions.TransactionScope.
            This extensively uses thread local storage and is thus thread-bound.
            GraphTransactionScope is meant to be called from a using() class, same as TransactionScope.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphTransactionScope.ThreadData">
            <summary>
            Represents the per-thread data for the transaction scope.
            The per-thread data is shared data between nested graph transaction
            scopes on the same thread.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionScope.ThreadData._aborted">
            <summary>
            Determines whether the current transaction should be aborted
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionScope.ThreadData._scopeDepth">
            <summary>
            Counts the depth of transaction scope nesting
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionScope.ThreadData._threadEnlistment">
            <summary>
            The enlistment associated with the GraphTransactionScope (and likely the current thread).
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionScope.ThreadData._threadId">
            <summary>
            PERF: The thread id to which the ThreadData apply. This is done to be able
            to look up the last ThreadData fast without using a TLS.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionScope.ThreadData._extraData">
            <summary>
            Extra data for derived classes
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphTransactionScope.ExtraData">
            <summary>
            Extra data to save in TLS
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionScope.GetOrCreateEnlistment">
            <summary>
            Get or create an enlistment associated with the graph transaction scope (and correspondingly
            the current thread).
            </summary>
            <returns>The GraphTransactionEnlistment</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphTransactionScope.ScopeProperties">
            <summary>
            The property bag associated with this scope.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionScope._setComplete">
            <summary>
            Determines if the user called SetComplete() on the GraphTransactionScope.
            </summary>
            <remarks>
            In a nested case all GraphTransactionScope's must have SetComplete()
            called on it for the transaction to commit.
            </remarks>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionScope._scope">
            <summary>
            The associated System.Transaction.TransactionScope for this GraphTransactionScope
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionScope._scopeThreadData">
            <summary>
            The ThreadData for the thread on which this scope runs, so that the scope doesn't have to
            use TLS to look up the per-thread data.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionScope._lastAccessedThreadData">
            <summary>
            Keeps a pointer to the last accessed thread data.
            </summary>
            <remarks>
            PERF: It is faster to evaluate this first to see if we're still on the same thread
            than to look the data up using a TLS variable.
            </remarks>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionScope._tlsThreadData">
            <summary>
            Keeps the TLS ThreadData shared between nested transaction scopes.
            </summary>
            <remarks>
            NOTE: Any access to this variable is extremely slow.
            </remarks>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphTransactionScope.ScopeDepth">
            <summary>
            Returns the scope depth for the current thread
            </summary>
            <remarks>For troubleshooting only, not to be used in product code</remarks>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionScope._timeout">
            <summary>
            Timeout for transactions (infinite)
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphTransactionScope._previousOptions">
            <summary>
            The options inherited from outer GraphTransactionScope.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionScope.#ctor">
            <summary>
            Constructor. This associates this GraphTransactionScope with ones on outer scope blocks
            by using a TLS variable.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionScope.#ctor(System.String)">
            <summary>
            Constructor. This associates this GraphTransactionScope with ones on outer scope blocks
            by using a TLS variable.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionScope.#ctor(Microsoft.VisualStudio.GraphModel.GraphTransactionScopeOptions)">
            <summary>
            Constructor. This associates this GraphTransactionScope with ones on outer scope blocks
            by using a TLS variable.
            </summary>
            <param name="options">Options assocated with this transaction scope</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionScope.#ctor(System.Transactions.Transaction)">
            <summary>
            Constructor. This associates this GraphTransactionScope with ones on outer scope blocks
            by using a TLS variable.
            </summary>
            <param name="transaction">The transaction to join</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionScope.Dispose">
            <summary>
            IDisposable.Dispose.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionScope.Dispose(System.Boolean)">
            <summary>
            Dispose implementation
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionScope.Complete">
            <summary>
            Mark us as complete. Dispose will check this and if this wasn't called, the transaction will abort.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphTransactionCanceledException">
            <summary>
            This class can be used to cancel a graph transaction scope and communicate up to the
            UI layer of your application some reason for the cancelation.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionCanceledException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            ISerializable implementation - Gets the data for the object.
            Serialize the graph into DGML
            </summary>
            <param name="info">Serialization info to add to</param>
            <param name="context">Ignored</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionCanceledException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Special constructor that is used for deserialization only.
            </summary>
            <param name="info">Serialization info from which to retrieve the DGML for the graph</param>
            <param name="context">Ignored</param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistmentEventArgs">
            <summary>
            Provides data for the following transaction event: GraphTransactionEnlistment.Pending, GraphTransactionEnlistment.Completed
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistmentEventArgs.EnlistableObjectsAndIsolators">
            <summary>
            The set of isolation objects the transaction
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistmentEventArgs.Cancel">
            <summary>
            Cancels a preparing enlistment. No effect on the commit event.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistmentEventArgs.Transaction">
            <summary>
            The transaction that caused this update.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistmentEventArgs.Enlistment">
            <summary>
            The enlistment that carries the isolated changes for the transaction
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistmentEventArgs.#ctor(System.Collections.Generic.List{System.Collections.Generic.KeyValuePair{Microsoft.VisualStudio.GraphModel.IEnlistableObject,Microsoft.VisualStudio.GraphModel.IIsolatorObject}},System.Transactions.Transaction,Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistment)">
            <summary>
            Initializes a new instance of the GraphTransactionCompletedEventArgs class. 
            </summary>
            <param name="enlistableObjectsAndIsolators">The enlistable objects and isolators used in the transaction</param>
            <param name="transaction">The transaction completed</param>
            <param name="enlistment">The transaction enlistment</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistmentEventArgs.Subset(Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Create a new GraphTransactionEnlistmentEventArgs with enlistable objects filtered by the given graph.
            </summary>
            <param name="g">The Graph with which to filter the enlistable objects</param>
            <returns>A new GraphTransactionEnlistmentEventsArgs containing only those enlistable object in the given graph</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphUndoManager">
            <summary>
            This class wraps the IOleUndoManager from VS and adds undo unit merging.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUndoManager.UndoStack">
            <summary>
            Gets the current entries on the undo stack, ordered most to least recent.
            </summary>
            <returns>Entries from the undo stack, ordered most to least recent</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUndoManager.RedoStack">
            <summary>
            Gets the current entries on the redo stack, ordered most to least recent.
            </summary>
            <returns>Entries from the redo stack, ordered most to least recent</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoManager.Add(Microsoft.VisualStudio.OLE.Interop.IOleUndoUnit)">
            <summary>
            Pushes the specified undo unit onto the undo stack.
            </summary>
            <param name="unit">Undo unit to push</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoManager.AddOrMerge(Microsoft.VisualStudio.GraphModel.IMergeableUndo)">
            <summary>
            Adds an undo unit to the undo stack, potentially merging it with other undo units on the stack
            or dropping it if it's empty.  If it has UndoOption.AddForce then it will always be added even
            if it is empty.  This is handy for compound operations like moving nodes, drag/drop or label editing
            where you merge a series of undo units into one atomic unit and you need to have a sure way of 
            starting with the Add unit even if it's initially empty.
            </summary>
            <param name="undo">The Undo unit to add</param>
            <returns>true if the undo unit was added or merged successfully, false if it was disregarded</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphUndoUnit">
            <summary>
            This class represents one undoable graph change which appears on the VS undo stack.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.#ctor(Microsoft.VisualStudio.GraphModel.Graph,Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs)">
            <summary>
            Construct an undo unit from the changes that are about to be committed in the given GraphUpdatedEventArgs.
            This has to be called during the Graph Updating, the Updated event is too late since we have to be able
            to save the old values before the changes are committed in order to be able to undo those changes.
            </summary>
            <param name="graph"></param>
            <param name="changes"></param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.CalculateDisabled(System.Object,System.Collections.Generic.Dictionary{System.Object,System.Object})">
            <summary>
            Calculates whether the undo unit is disabled
            </summary>
            <returns>The calculate value for <see cref="P:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.Disabled" /> </returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.IsUndoUnit">
            <summary>
            Whether this is an undo unit.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.IsRedoUnit">
            <summary>
            Whether this is a redo unit.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.Disabled">
            <summary>
            Whether this undo unit should be disabled (as determined by information found in the constructor).
            </summary>
            <remarks>Only derived test code can set this property</remarks>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.Causality">
            <summary>
            This undo unit's associated Causality.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.Enlistment">
            <summary>
            This undo unit's associated GraphTransactionEnlistment.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.ScopeProperties">
            <summary>
            The property bag associated with this undo unit.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.Description">
            <summary>
            This undo unit's description.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.IsEmpty">
            <summary>
            Whether this undo unit is empty.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.IsUndoable(Microsoft.VisualStudio.GraphModel.GraphObject,Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Return true if changes to the given property on the given graphObject are undoable or not.
            This method returns true if the property metadata has the IsUndoable flag set or it returns
            false if it does not have the IsSharable or IsSerializable flag.  Also if it has IsWriteOnce
            then it also returns false, since the UndoStack would not be allowed to change the value.
            If false is returned then the property is not preserved across undo/redo.  
            For transient properties returning false can save a lot of memory in the undo stack.
            </summary>
            <param name="graphObject">The graph object being changed</param>
            <param name="property">The property being changed</param>
            <returns>True if the property value needs to be undone and redone otherwise false.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.Apply">
            <summary>
            Applies the undo unit.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.ApplyToGraph(Microsoft.VisualStudio.GraphModel.Graph)">
            <summary>
            Applies the undo unit to a different graph.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.ApplyToNode(Microsoft.VisualStudio.GraphModel.GraphNode,Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Applies any property or category changes on the original node to the input node.
            </summary>
            <param name="originalNode">The original node that was changed.</param>
            <param name="node">The input node that the changes should be applied to.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.Swap``1(``0@,``0@)">
            <summary>
            Helper method to swap two items.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.IsUndo(System.Collections.Generic.Dictionary{System.Object,System.Object})">
            <summary>
            Determines whether the specified GraphTransactionScope is currently being used for an undo operation.
            </summary>
            <param name="scopeProperties">The ScopeProperties</param>
            <returns>whether the specified scope is currently being used for an undo operation.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.IsRedo(System.Collections.Generic.Dictionary{System.Object,System.Object})">
            <summary>
            Determines whether the specified GraphTransactionScope is currently being used for a redo operation.
            </summary>
            <param name="scopeProperties">The ScopeProperties</param>
            <returns>whether the specified scope is currently being used for a redo operation.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.Merge(Microsoft.VisualStudio.GraphModel.IMergeableUndo)">
            <summary>
            Merges the undo unit into this one
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.GetDescription(System.String@)">
            <summary>
            Gets a text description for this undo unit, which is displayed by the shell.        
            </summary>
            <param name="description">text description</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.GetUnitType(System.Guid@,System.Int32@)">
            <summary>
            Gets the Undo UnitType.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.OnNextAdd">
            <summary>
            Called when a new undo unit is added on top of this one on the undo stack.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.Do(Microsoft.VisualStudio.OLE.Interop.IOleUndoManager)">
            <summary>
            Performs undo/redo based on the internal state of this undo unit
            Also, undo unit is responsible for adding itself to the *opposite* stack
            </summary>
            <param name="pUndoManager">Undo manager, used for adding undo unit to appropriate undo/redo stack </param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.AddNode(Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Called during Apply if a node needs to be added back to the graph.
            You can override this but you must call base.AddNode.
            </summary>
            <param name="node">The node being added</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.RemoveNode(Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Called during Apply if a node needs to be removed from to the graph.
            You can override this but you must call base.RemoveNode.
            </summary>
            <param name="node">The node being added</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.AddLink(Microsoft.VisualStudio.GraphModel.GraphLink)">
            <summary>
            Called during Apply if a link needs to be added back to the graph.
            You can override this but you must call base.AddLInk.
            </summary>
            <param name="link">The link being added</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.RemoveLink(Microsoft.VisualStudio.GraphModel.GraphLink)">
            <summary>
            Called during Apply if a link needs to be added back to the graph.
            You can override this but you must call base.RemoveLink.
            </summary>
            <param name="link">The link being added</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUndoUnit.Apply(System.Action)">
            <summary>
            Performs this undo or redo operation.
            </summary>
            <param name="action">Action to perform inside to apply changes and update state.  Called from inside a graph transaction</param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.IGraphUndoData">
            <summary>
            Data access interface to get a hold of the data inside the undo unit
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs">
            <summary>
            Provides changes to a graph object
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs._addedProperties">
            <summary>
            The changed properties for each GraphObject in this graph.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs._removedProperties">
            <summary>
            The removed properties for each GraphObject in this graph.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.AddedProperties">
            <summary>
            The added properties for each changed GraphObject in this graph.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.RemovedProperties">
            <summary>
            The removed properties for each changed GraphObject in this graph.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.ComputeChangedProperties">
            <summary>
            Compute the changed properties for each GraphObject in this graph.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs._addedCategories">
            <summary>
            The added categories for each GraphObject in this graph.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs._removedCategories">
            <summary>
            The removed categories for each GraphObject in this graph.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.AddedCategories">
            <summary>
            The added categories for each changed GraphObject in this graph.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.RemovedCategories">
            <summary>
            The removed categories for each GraphObject in this graph.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.ComputeChangedCategories">
            <summary>
            Compute the changed properties for each GraphObject in this graph.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.InternalAddedLinks">
            <summary>
            Get the actual isolator object's added object dictionary for links and if it's null then create an empty
            one so that this never returns null.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.InternalRemovedLinks">
            <summary>
            Get the actual isolator object's removed object dictionary for links and if it's null then create an empty
            one so that this never returns null.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.InternalAddedNodes">
            <summary>
            Get the actual isolator object's added object dictionary for nodes and if it's null then create an empty
            one so that this never returns null.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.InternalRemovedNodes">
            <summary>
            Get the actual isolator object's removed object dictionary for nodes and if it's null then create an empty
            one so that this never returns null.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.AddedGroups">
            <summary>
            Get the actual isolator object's added object dictionary for groups and if it's null then create an empty
            one so that this never returns null.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.RemovedGroups">
            <summary>
            Get the actual isolator object's removed object dictionary for groups and if it's null then create an empty
            one so that this never returns null.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.InternalAddedStyles">
            <summary>
            Get the actual isolator object's added object list for ConditionalStyles and if it's null create an empty list
            so this method never returns null.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.InternalRemovedStyles">
            <summary>
            Get the actual isolator object's removed object list for ConditionalStyles and if it's null create an empty list
            so this method never returns null.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.InternalAddedConditions">
            <summary>
            Get the actual isolator object's added object list for Conditions and if it's null create an empty list
            so this method never returns null.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.InternalRemovedConditions">
            <summary>
            Get the actual isolator object's removed object list for Conditions and if it's null create an empty list
            so this method never returns null.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.InternalAddedSetters">
            <summary>
            Get the actual isolator object's added object dictionary for Setters and if it's null then create an empty
            one so that this never returns null.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.InternalRemovedSetters">
            <summary>
            Get the actual isolator object's removed object dictionary for Setters and if it's null then create an empty
            one so that this never returns null.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.Cancel">
            <summary>
            Set to cancel changes to a graph object
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.Graph">
            <summary>
            The Graph object to which the Links/links will be applied when the transaction commits
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.Transaction">
            <summary>
            The System.Transaction transaction that caused the current update
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.TransactionId">
            <summary>
            The transaction ID used for this Enlistment
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.Enlistment">
            <summary>
            The enlistment used to carry the isolated changed for this graph
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.ScopeProperties">
            <summary>
            The property bag associated with this set of events.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.AddedLinks">
            <summary>
             The Links added to the Graph.Links set during the transaction
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.RemovedLinks">
            <summary>
            The Links removed from the Graph.Links set during the transaction
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.ChangedLinks">
            <summary>
            Links that were previously present in Graph.Links that has data changed during the transaction
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.AddedNodes">
            <summary>
             The Links added to the Graph.Nodes set during the transaction
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.RemovedNodes">
            <summary>
            The Nodes removed from the Graph.Nodes set during the transaction
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.IsAdded(Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Determines if the given node id was added during this transaction.
            </summary>
            <returns>True if the given node id was added.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.IsRemoved(Microsoft.VisualStudio.GraphModel.GraphNodeId)">
            <summary>
            Determines if the given node id was removed during this transaction.
            </summary>
            <returns>True if the given node id was removed.</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.ChangedNodes">
            <summary>
            Nodes that had property or category changes (including the GroupNodes for any GraphGroup changes).
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.ChangedGroups">
            <summary>
            Groups that had property or category changes
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.AddedStyles">
            <summary>
            Get the ConditionalStyles added to the Styles collection of this Graph during the transaction.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.RemovedStyles">
            <summary>
            Get the ConditionalStyles removed from the Styles collection of this Graph during the transaction.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.ChangedStyles">
            <summary>
            Get the ConditionalStyles in this Graph changed during the transaction.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.AddedConditions">
            <summary>
            Get the Conditions added to the Conditions collection of styles in this Graph during the transaction.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.RemovedConditions">
            <summary>
            Get the Conditions removed from the Conditions collection of styles in this Graph during the transaction.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.ChangedConditions">
            <summary>
            Get the Conditions in this Graph changed during the transaction.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.AddedSetters">
            <summary>
            Get the Setters added to the Setters collection of styles in this Graph during the transaction.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.RemovedSetters">
            <summary>
            Get the Setters removed from the Setters collection of styles in this Graph during the transaction.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.ChangedSetters">
            <summary>
            Get the Setters in this Graph changed during the transaction.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.GetAddedProperties(Microsoft.VisualStudio.GraphModel.GraphObject)">
            <summary>
            Get the list of added graph properties for a given changed node.
            </summary>
            <param name="parent">The Node that had added properties</param>
            <returns>The collection of added graph properties </returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.GetRemovedProperties(Microsoft.VisualStudio.GraphModel.GraphObject)">
            <summary>
            Get the list of removed graph properties for a given changed node.
            </summary>
            <param name="parent">The changed node</param>
            <returns>The collection of removed properties</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.GetAddedCategories(Microsoft.VisualStudio.GraphModel.GraphObject)">
            <summary>
            Get the list of added graph categories for a given changed node.
            </summary>
            <param name="parent">The changed node</param>
            <returns>The collection of added categories, may be empty if no categories were added</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.GetRemovedCategories(Microsoft.VisualStudio.GraphModel.GraphObject)">
            <summary>
            Get the list of removed graph categories for a given changed node.
            </summary>
            <param name="parent">The changed node</param>
            <returns>The collection of removed categories (may be empty if no categories were removed)</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs.#ctor(Microsoft.VisualStudio.GraphModel.Graph,Microsoft.VisualStudio.GraphModel.GraphTransactionEnlistmentEventArgs)">
            <summary>
            Initializes a new instance of the GraphUpdatedEventArgs class. 
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs._event">
            <summary>
            Private storage for the transaction event
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.GraphUpdatedEventArgs._graph">
            <summary>
            Private storage for the graph
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IGraphNodeBrowsablePropertiesProvider.GetBrowsableProperties(Microsoft.VisualStudio.GraphModel.GraphNode)">
            <summary>
            Gets browsable properties for given GraphNode
            </summary>
            <param name="node"></param>
            <returns>Returns a collection of browsable properties. If no properties can return null.</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.IGraphTransactionEnlistment">
            <summary>
            Interface for IGraphTransactionEnlistment.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IGraphTransactionEnlistment.Properties">
            <summary>
            Dictionary of property values
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.IHasGraphOwner">
            <summary>
            An interface for objects that have an owning Graph object.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IHasGraphOwner.Owner">
            <summary>
            Get the Graph that this object belongs to.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.IMergeableUndo">
            <summary>
            This Interface represents one Mergable graph change which appears on the VS undo stack.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IMergeableUndo.Enlistment">
            <summary>
            Gets the current Enlistment.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IMergeableUndo.IsUndoUnit">
            <summary>
            Whether this is an undo unit.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IMergeableUndo.IsRedoUnit">
            <summary>
            Whether this is a redo unit.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IMergeableUndo.Disabled">
            <summary>
            Whether this undo unit should be disabled (as determined by information found in the constructor).
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IMergeableUndo.Causality">
            <summary>
            This undo unit's associated Causality.
            Its is a unique identity which is used to merge  related undo units.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IMergeableUndo.IsEmpty">
            <summary>
            Whether the current Undo operation is Empty or not.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IMergeableUndo.Merge(Microsoft.VisualStudio.GraphModel.IMergeableUndo)">
            <summary>
            Performs the Merge action of multiple undo units with the same Causality.
            </summary>
            <param name="undo"> Checks and Merges the undo action. Called from inside a graph transaction</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IMergeableUndo.Apply">
            <summary>
            Applies the undo unit.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.MultiTokenReplacement">
            <summary>
            Find and Replace n instance of a string replace them with a new string
            The resulting replacement string will be returned in a StringBuilder.
            
                   Replacement     Original
                   ------------------------
                    "B"             "Big"
                    "F"             "Fish"
                    "BF"            "BigFish"); Overlapping tokens will always favor the longest match
                    "z"             "x"
                    
              original string   "This Fish is a BigFish yes very Big x"
              string after      "This $(F) is a $(BF) yes very $(B) $(z)"
              
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.MultiTokenReplacement._rootMatchToStartFrom">
            <summary>
            Master tokenMatcher to bootstrap the token tree
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.MultiTokenReplacement._tokensReplaced">
            <summary>
            When replacement is completed this collection will contain all the Tokens that were matched
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.MultiTokenReplacement._tokensFoundInAscendingPositionOrder">
            <summary>
            For perf reason and memory alloc and free we declare this collection in the class
            instead of being inside the consuming method "ReplaceAllTokens"
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.MultiTokenReplacement.#ctor">
            <summary>
            Constructor for the MultiTokenReplacement class
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.MultiTokenReplacement.TokensReplaced">
            <summary>
            Get the list of actual tokens found during all the calls to ReplaceAllTokens.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.MultiTokenReplacement.Add(System.String,System.String)">
            <summary>
            Populate the tupels "OriginalString","ReplacementString" that will be used for the replacing the strings
            </summary>
            <param name="findThisToken">The string to find</param>
            <param name="replaceWithThisToken">The string to replace with</param>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.MultiTokenReplacement._rootTokenMatcher">
            <summary>
            Private storage for the token matcher
            </summary>
            <remarks>
            Note : leave this variable outside of the for loop, it is more Perf friendly and saves a few cycles
            </remarks>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.MultiTokenReplacement._longestTokenMatchFound">
            <summary>
            Private storage for the longest token match found
            </summary>
            <remarks>
            Note : leave this object outside of the for loop, 
            </remarks>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.MultiTokenReplacement._lastTokenMatchFound">
            <summary>
            Private storage for the last token found, used for controlling region of overlap of tokens
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.MultiTokenReplacement.ReplaceAllTokens(System.String,System.Text.StringBuilder)">
            <summary>
            This is where the real work happens, given collection of "Original strings" and "Replacement strings"
            This method will return a new stringBuilder with all tokens replaced
            </summary>
            <param name="input">Original string to party on</param>
            <param name="output">New string for the result</param>
            <returns>True if one or more token where matched</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.MultiTokenReplacement.ReplacementTokenFound">
            <summary>
            Once a token has been found we hold on to it in this class
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.MultiTokenReplacement.TokenMatcher">
            <summary>
            Evaluation token node for the evaluation Tree that we create before of the Replacements are executed
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.MultiTokenReplacement.TokenMatcher.InitUppers">
            <summary>
            Cache UPPER case value for all characters
            This code is executed in less then 0.01 seconds
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.MultiTokenReplacement.TokenMatcher.PreDigestTokenToMatch(System.String,System.String,System.String)">
            <summary>
            Break down the string into a tree like structure
            </summary>
            <param name="currentSubSetOfKeyWordToFind">Subset of key word being sought</param>
            <param name="originalKeyWordToMatch">The keyword to match</param>
            <param name="replaceWithThis">The replacement string</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.MultiTokenReplacement.TokenMatcher.FindLongestMatch(System.Int32,System.String,Microsoft.VisualStudio.GraphModel.MultiTokenReplacement.ReplacementTokenFound@)">
            <summary>
            Recursivly traverse the ditionaries for each "char" hit
            for example give these token "help, helpful, Won, Wonderful, World" you would get this tree
                help.
                    .ful
                Wo.
                  .n.
                    .derful
                  .r.l.d
                
            </summary>
            <param name="currentStartingPoint">The starting index</param>
            <param name="input">current startung index posistion of the source string</param>
            <param name="found">The longest match results</param>
            <returns>Replacement Token that was found or NULL if no match was found</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.MultiTokenReplacement.Overlaps(Microsoft.VisualStudio.GraphModel.MultiTokenReplacement.ReplacementTokenFound,Microsoft.VisualStudio.GraphModel.MultiTokenReplacement.ReplacementTokenFound)">
            <summary>
            Helper for evaluating if two token are overlaping their location in the string
            </summary>
            <param name="x">The first token to exmaine</param>
            <param name="y">The second token to exmain</param>
            <returns>True if the tokens overlap, false otherwise</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.IPropertyList`1">
            <summary>
            IPropertyList interface
            </summary>
            <typeparam name="T">The type of the values stored in the property list</typeparam>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IPropertyList`1.Count">
            <summary>
            The count of the properties in the list
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IPropertyList`1.Properties">
            <summary>
            The properties in the list
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IPropertyList`1.PropertyKeys">
            <summary>
            The property keys in the list
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.IPropertyList`1.PropertyValues">
            <summary>
            The property values in the list
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IPropertyList`1.Clear(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Clear the property from the list
            </summary>
            <param name="property">The property to clear</param>
            <returns>The cleared property</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IPropertyList`1.Contains(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Determines if the property is in the list
            </summary>
            <param name="property">The property to search for</param>
            <returns>True if the property is in the list, false otherwise.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IPropertyList`1.GetValue(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Gets the value for the property in the list
            </summary>
            <param name="property">The property to search for</param>
            <returns>The value if the property is found</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IPropertyList`1.SetValue(Microsoft.VisualStudio.GraphModel.GraphProperty,Microsoft.VisualStudio.GraphModel.Graph,`0)">
            <summary>
            Sets the value for a given property in the list
            </summary>
            <param name="property">The property to set</param>
            <param name="metadataGraph">The Graph (or GraphSchema) which contains the additional metadata for this property.</param>
            <param name="value">The value to set</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.IPropertyList`1.TryGetValue(Microsoft.VisualStudio.GraphModel.GraphProperty,`0@)">
            <summary>
            Try to get the value from the property in the list, but doesn't throw an exception if the property isn't in the list.
            </summary>
            <param name="property">The property to search for</param>
            <param name="value">The value of the property if found</param>
            <returns>True if the property was found, false otherwise</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.PropertyList`1">
            <summary>
            PropertyList class holds all property and value pairs for annotation of a graph object.
            </summary>
            <typeparam name="T">type of value to be stored</typeparam>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.PropertyList`1.PropertyListNode`1">
            <summary>
            Linked list node
            </summary>
            <typeparam name="V">The type of values stored in the list</typeparam>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.PropertyList`1.PropertyListNode`1.Data">
            <summary>
            The data stored in the list (a Property and its value)
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.PropertyList`1.PropertyListNode`1.Property">
            <summary>
            Gets the GraphProperty for this node
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.PropertyList`1.PropertyListNode`1.Value">
            <summary>
            Gets the value of the GraphProperty for this node
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.PropertyList`1.PropertyListNode`1.Next">
            <summary>
            Gets the next PropertyListNode in the linked list
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.PropertyList`1._head">
            <summary>
            head of the list
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.PropertyList`1._count">
            <summary>
            count of items in list
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.PropertyList`1._isValueType">
            <summary>
            true if generic type is a value type
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.PropertyList`1.FindInList(Microsoft.VisualStudio.GraphModel.GraphProperty,Microsoft.VisualStudio.GraphModel.PropertyList{`0}.PropertyListNode{`0}@,Microsoft.VisualStudio.GraphModel.PropertyList{`0}.PropertyListNode{`0}@)">
            <summary>
            Finds the specified property. If found, the node is returned via output param foundNode,
            and the node previous to the found node is returned via previousNode.
            </summary>
            <param name="property">The property to search for</param>
            <param name="foundNode">The list of found nodes</param>
            <param name="previousNode">The list of previous nodes</param>
            <returns>True if property was found, otherwise false</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.PropertyList`1.BulkClear(System.Collections.Generic.HashSet{Microsoft.VisualStudio.GraphModel.GraphProperty})">
            <summary>
            Special "bulk clear" that removes all properties in the set from the linked list of properties.
            </summary>
            <param name="propertiesToClear">The properties to clear</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.PropertyList`1.Count">
            <summary>
            count of PropertyList
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.PropertyList`1.Properties">
            <summary>
            Property that returns an enumeration of all key value pairs. The order of the enumeration is random.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.PropertyList`1.PropertyKeys">
            <summary>
            Property that returns an enumeration of all keys. The order of the enumeration is random.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.PropertyList`1.PropertyValues">
            <summary>
            Property that returns an enumeration of all values. The order of the enumeration is random.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.PropertyList`1.Clear(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Clears (removes) specified property from the list. Returns the value which was removed if property was found,
            otherwise default value is returned.
            </summary>
            <param name="property">The property to remove</param>
            <returns>The value if the property was found and removed, otherwise the default value is returned</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.PropertyList`1.Contains(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Determines if the list contains the given property
            </summary>
            <param name="property">The property to search for</param>
            <returns>True if the list contains the given property, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.PropertyList`1.GetValue(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            The value of the property for this node.
            </summary>
            <param name="property">The property to search for</param>
            <returns>The value associated with the property if found, the default value otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.PropertyList`1.SetValue(Microsoft.VisualStudio.GraphModel.GraphProperty,Microsoft.VisualStudio.GraphModel.Graph,`0)">
            <summary>
            Sets an annotation of the specified property to the specified value. 
            </summary>
            <param name="property">The property to set</param>
            <param name="metadataGraph">The Graph (or GraphSchema) from which to retrieve additional metadata about this object</param>
            <param name="value">The value to set</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.PropertyList`1.SetValueNoMetadataCheck(Microsoft.VisualStudio.GraphModel.GraphProperty,`0)">
            <summary>
            Sets an annotation of the specified property to the specified value. 
            </summary>
            <param name="property">The property to set</param>
            <param name="value">The value to set</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.PropertyList`1.TryGetValue(Microsoft.VisualStudio.GraphModel.GraphProperty,`0@)">
            <summary>
            Tries to get the value for the given property. If found, true is returned and value is set.
            </summary>
            <param name="property">The property to search for</param>
            <param name="value">The value to set if found</param>
            <returns>True if the given property is found, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.ReflectionExtensions.GetNonGenericMethod(System.Type,System.String,System.Type[])">
            <summary>
            Unfortunately the reflection API things "GetValue" that takes typeof(string) is ambiguous because there is also a generic method with this name.
            </summary>
            <param name="declaringType">The Type to search for matching method</param>
            <param name="name">The name of the method</param>
            <param name="arguments">The typeof arguments the method takes</param>
            <returns>The method found</returns>
            <exception cref="T:System.MissingMethodException">Thrown if matching method is not found</exception>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.Resources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.CircularCategoryInheritance">
            <summary>
              Looks up a localized string similar to Circular BasedOn inheritance is not allowed.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.CircularSetter">
            <summary>
              Looks up a localized string similar to Cannot reference the same property '{0}' in the Setter Property and in the Expression for that setter.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Clear">
            <summary>
              Looks up a localized string similar to Clear.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DescriptiveCategoryLabelDelimiter">
            <summary>
              Looks up a localized string similar to , .
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_DelayedChildNodesState_Desc">
            <summary>
              Looks up a localized string similar to Unspecified if the delayed child nodes state is not specified. NotFetched if the group contains child nodes that are not fetched into the graph yet. Fetched if the group has all its delayed child nodes already fetched..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_DelayedChildNodesState_Label">
            <summary>
              Looks up a localized string similar to Delayed Child Nodes State.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_DelayedChildNodesState_NOLOC_">
            <summary>
              Looks up a localized string similar to DelayedChildNodesState.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_DelayedCrossGroupLinksState_Desc">
            <summary>
              Looks up a localized string similar to Unspecified if the delayed cross-group links state is not specified. NotFetched if delayed cross-group links on this node are not fetched into the graph yet. Fetched if all delayed cross-group links have already fetched..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_DelayedCrossGroupLinksState_Label">
            <summary>
              Looks up a localized string similar to Delayed Cross-Group Links State.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_DelayedCrossGroupLinksState_NOLOC_">
            <summary>
              Looks up a localized string similar to DelayedCrossGroupLinksState.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_ErrorLevel_Desc">
            <summary>
              Looks up a localized string similar to Used to associate an error level with a node or link in the graph.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_ErrorLevel_Group">
            <summary>
              Looks up a localized string similar to Analysis.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_ErrorLevel_Label">
            <summary>
              Looks up a localized string similar to Error Level.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_ErrorLevel_NOLOC_">
            <summary>
              Looks up a localized string similar to ErrorLevel.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_FilePath_Desc">
            <summary>
              Looks up a localized string similar to The files path.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_FilePath_Label">
            <summary>
              Looks up a localized string similar to File Path.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_FilePath_NOLOC_">
            <summary>
              Looks up a localized string similar to FilePath.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_Group_Desc">
            <summary>
              Looks up a localized string similar to Display the node as a group.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_Group_Label">
            <summary>
              Looks up a localized string similar to Group.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_Group_NOLOC_">
            <summary>
              Looks up a localized string similar to Group.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_Label_Desc">
            <summary>
              Looks up a localized string similar to Displayable label of an Annotatable object.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_Label_Label">
            <summary>
              Looks up a localized string similar to Label.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_Label_NOLOC_">
            <summary>
              Looks up a localized string similar to Label.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_SourceNode_Desc">
            <summary>
              Looks up a localized string similar to Source node of a link.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_SourceNode_Label">
            <summary>
              Looks up a localized string similar to Source Node.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_SourceNode_NOLOC_">
            <summary>
              Looks up a localized string similar to Source.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_TargetNode_Desc">
            <summary>
              Looks up a localized string similar to Target node of a link.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_TargetNode_Label">
            <summary>
              Looks up a localized string similar to Target Node.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_TargetNode_NOLOC_">
            <summary>
              Looks up a localized string similar to Target.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_UniqueId_Desc">
            <summary>
              Looks up a localized string similar to Unique identifier of an Annotatable object.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_UniqueId_Label">
            <summary>
              Looks up a localized string similar to Identifier.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_UniqueId_NOLOC_">
            <summary>
              Looks up a localized string similar to Id.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_Visibility_Desc">
            <summary>
              Looks up a localized string similar to Defines whether a node in the graph is visible or not.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_Visibility_Label">
            <summary>
              Looks up a localized string similar to Visibility.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Annotation_Visibility_NOLOC_">
            <summary>
              Looks up a localized string similar to Visibility.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Category_Contains_Desc">
            <summary>
              Looks up a localized string similar to Whether the source of the link contains the target object.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Category_Contains_Label">
            <summary>
              Looks up a localized string similar to Contains.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.DGML_Category_Contains_NOLOC_">
            <summary>
              Looks up a localized string similar to Contains.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Error_Missing_Close_Quote">
            <summary>
              Looks up a localized string similar to Close quote character is missing.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_ArgEmptyStringParam_id_NOLOC_">
            <summary>
              Looks up a localized string similar to id can not be an empty string.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_ArgNullParam_dataType_NOLOC_">
            <summary>
              Looks up a localized string similar to dataType.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_ArgNullParam_id_NOLOC_">
            <summary>
              Looks up a localized string similar to id.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_ArgNullParam_key_NOLOC_">
            <summary>
              Looks up a localized string similar to key.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_ArgNullParam_link_NOLOC_">
            <summary>
              Looks up a localized string similar to link.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_ArgNullParam_node_NOLOC_">
            <summary>
              Looks up a localized string similar to node.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_ArgNullParam_owner_NOLOC_">
            <summary>
              Looks up a localized string similar to owner.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_ArgNullParam_source_NOLOC_">
            <summary>
              Looks up a localized string similar to source.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_ArgNullParam_target_NOLOC_">
            <summary>
              Looks up a localized string similar to target.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_ArrayMustHave1OrMoreItems">
            <summary>
              Looks up a localized string similar to Array must contain at least 1 element.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_ArrayWontFitInDestination">
            <summary>
              Looks up a localized string similar to The number of elements in the source System.Collections.Generic.ICollection is greater than the available space from arrayIndex to the end of the destination.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_BasedOn">
            <summary>
              Looks up a localized string similar to BasedOn attribute '{0}' cannot be resolved for property '{1}'..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_CannotChangeTxId">
            <summary>
              Looks up a localized string similar to Cannot change transaction id once set.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_CanNotRemoveAnnotation">
            <summary>
              Looks up a localized string similar to Can not remove annotation "{0}", it does not have the Removable flag..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_CanNotWriteToAnnotationMultipleTimes">
            <summary>
              Looks up a localized string similar to Can not write to annotation "{0}" multiple times, it is defined with the WriteOnce flag..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_DuplicateLink">
            <summary>
              Looks up a localized string similar to A link with the same source, target and link type already exists: {0}.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_GraphNodeIdCollectionNotHomogeneous">
            <summary>
              Looks up a localized string similar to The homogeneousItems argument is passed as true, but the passed in array contains heterogeneous elements. If the collection is intended to contain GraphNodeId's with different names, specify homogeneousItems=false..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_GraphNodeIdNotGraphNodeId">
            <summary>
              Looks up a localized string similar to The value is not a GraphNodeId.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_GraphOwnerMissing">
            <summary>
              Looks up a localized string similar to This method must be called on the DocumentSchema since a Graph Owner is required..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_GraphParsingAliasedIdNotANumber">
            <summary>
              Looks up a localized string similar to The aliased identifier is not a number.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_GraphParsingAliasedIdNotFound">
            <summary>
              Looks up a localized string similar to The alias was not found in the set of aliases.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_GraphParsingEmbeddedError">
            <summary>
              Looks up a localized string similar to The GraphNodeId contains invalid characters and cannot be parsed.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_GraphParsingEmptyString">
            <summary>
              Looks up a localized string similar to An empty string was passed in.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_GraphParsingExpectedEmbedded">
            <summary>
              Looks up a localized string similar to Expected '(' character at the beginning of an embedded id..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_GraphParsingExpectedUri">
            <summary>
              Looks up a localized string similar to Expected a URI for '{0}'.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_GraphParsingNoEquFound">
            <summary>
              Looks up a localized string similar to No = was found while parsing through a name=value list.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_GraphParsingNoNameFound">
            <summary>
              Looks up a localized string similar to No name was found while parsing through a name=value list.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_GraphParsingNonTerminatedArray">
            <summary>
              Looks up a localized string similar to The GraphNodeId contains an embedded array that was not terminated.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_GraphParsingNonTerminatedList">
            <summary>
              Looks up a localized string similar to The GraphNodeId contains an embedded list that was not terminated.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_GraphParsingNonTerminatedLiteral">
            <summary>
              Looks up a localized string similar to The GraphNodeId contains an embedded literal that was not terminated.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_GraphParsingUnexpectedEndOfLine">
            <summary>
              Looks up a localized string similar to End of line encountered while looking for next token.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_GraphSchemaCannotBeAddedToSelf">
            <summary>
              Looks up a localized string similar to A Graph Schema cannot be added to itself.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_GraphSchemaCannotBeCircular">
            <summary>
              Looks up a localized string similar to The Graph Schema cannot be added because it contains this parent schema as a child which would create a circular containment.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_IncompatibleTypesForValueAndAnnotation">
            <summary>
              Looks up a localized string similar to Incompatible types for annotation "{0}" during assignment. Expected {1}, but was given {2}.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_InvalidSignature">
            <summary>
              Looks up a localized string similar to The serialized graph data is not in a supported format..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_InvalidTag">
            <summary>
              Looks up a localized string similar to This serialized graph data is corrupt and cannot be loaded..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_IsAssignableFrom">
            <summary>
              Looks up a localized string similar to Cannot assign a '{0}' from a '{1}'.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_LinkConflict">
            <summary>
              Looks up a localized string similar to Transaction was about to overwrite an existing link in the graph. This might be caused by different threads using different transaction scopes. Aborting transaction..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_MismatchingOwner">
            <summary>
              Looks up a localized string similar to Item cannot be added to this graph because the Owner doesn't match.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_NeedGraphForMetadata">
            <summary>
              Looks up a localized string similar to MetadataGraph has to be specified if metadata is specified.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_NoAssociatedSchema">
            <summary>
              Looks up a localized string similar to No schema is associated with this graph that contains Metadata for object '{0}' of type '{1}'. Did you add the Schema that contains this object to the Graph?.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_NodeConflict">
            <summary>
              Looks up a localized string similar to Transaction was about to overwrite an existing node in the graph. This might be caused by different threads using different transaction scopes. Aborting transaction..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_NoEnlistmentInTx">
            <summary>
              Looks up a localized string similar to No enlistment is present in this transaction. Set Transaction.Current first or use a System.Transactions.TransactionScope around the operation..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_NoTxPresent">
            <summary>
              Looks up a localized string similar to No transaction is present. Set Transaction.Current first or use a System.Transactions.TransactionScope around the operation..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_OwnerImmutable">
            <summary>
              Looks up a localized string similar to The owner cannot be changed once set.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_PropertyNotFound">
            <summary>
              Looks up a localized string similar to Definition for property '{0}' was not found.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_RegisteredGraphPropertyHasDifferentDataType">
            <summary>
              Looks up a localized string similar to Discovered a registered property with same ID as "{0}" but wrong data type. Trying to register type '{1}', but it was already registered as '{2}'..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_RequiredGraphOwner">
            <summary>
              Looks up a localized string similar to Argument must be a Graph or contain a non-null Owner.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_ThreadAlreadyInvolvedInDifferentTransaction">
            <summary>
              Looks up a localized string similar to This thread is already involved in another transaction.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_TxAbortedByEventHandler">
            <summary>
              Looks up a localized string similar to Transaction was aborted by an event handler.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Exception_UniqueNodeIdAlreadyExists">
            <summary>
              Looks up a localized string similar to Unique node ID "{0}" already exists.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.ExpectingIdentifier">
            <summary>
              Looks up a localized string similar to Missing identifier in expression.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.GraphEdit">
            <summary>
              Looks up a localized string similar to Graph edit.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.GraphException_Format_NOLOC_">
            <summary>
              Looks up a localized string similar to {0} &lt;&lt;=== {1}.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Group">
            <summary>
              Looks up a localized string similar to Group.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Identifier">
            <summary>
              Looks up a localized string similar to Identifier.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.InvalidDelimiter">
            <summary>
              Looks up a localized string similar to Start delimiter '{0}' is invalid. Supported start delimiters are '(' and '&lt;'..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Link_Name_Spacer_NOLOC_">
            <summary>
              Looks up a localized string similar to |.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.MethodNotFound">
            <summary>
              Looks up a localized string similar to Method '{0}' was not found on target type '{1}'.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.NoConversionExists">
            <summary>
              Looks up a localized string similar to No conversion exists from type '{0}' to type '{1}'.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Progress_LoadingLinks">
            <summary>
              Looks up a localized string similar to Loading links.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Progress_LoadingMetadata">
            <summary>
              Looks up a localized string similar to Loading metadata.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Progress_LoadingNodes">
            <summary>
              Looks up a localized string similar to Loading nodes.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.Progress_LoadingStyles">
            <summary>
              Looks up a localized string similar to Loading styles.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.PropertyNotFound">
            <summary>
              Looks up a localized string similar to Property '{0}' was not found on target type '{1}'.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.RecursiveGraphTransactionScopeNotAllowed">
            <summary>
              Looks up a localized string similar to Cannot perform another edit on this graph from inside the completion of a previous edit.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.SeparatedFromOwner">
            <summary>
              Looks up a localized string similar to This graph object has been separated from its owning Graph so the operation cannot be performed.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.StaticMemberNotFound">
            <summary>
              Looks up a localized string similar to Identifier '{0}' is not a property of the target type '{1}' or is not a static method of an approved scriptable type like System.Math..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.TargetTypeMustBeGraphObject">
            <summary>
              Looks up a localized string similar to TargetType '{0}' must be a GraphObject.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.TypeNotRegistered">
            <summary>
              Looks up a localized string similar to Type '{0}' was not registered for scripting..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.UnexpectedToken">
            <summary>
              Looks up a localized string similar to Unexpected token '{0}', expecting {1}..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.UnfinishedExpression">
            <summary>
              Looks up a localized string similar to Expression is incomplete and cannot terminate with symbol '{0}'..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.UnmatchedCloseParen">
            <summary>
              Looks up a localized string similar to Close parenthesis ')' at position {0} has no matching open parenthesis..
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.UnsupportedTargetType">
            <summary>
              Looks up a localized string similar to TargetType '{0}' is not supported.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.Resources.WeakEventDelegateError">
            <summary>
              Looks up a localized string similar to Cannot create a WeakEventDelegate without a target delegate.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2">
             <summary>
             Provides an implementation for a Transacted Dictionary. This provides the functions
             of a dictionary, but can participate in a transaction enlistment through the passed in
             enlistable object.
            
             This works together with the GraphTransactionEnlistment which keeps enlistments for
             a group of enlistable objects, and will call into the enlistable objects during
             the Prepare and Commit phase.
             
             This class should remain a thin wrapper around the dictionary as it should be replacable
             with little overhead. All overhead should be kept in the enlistable object inside
             the transaction (which are much less frequent).
             </summary>
             <typeparam name="TKey">The type of key of the items in the dictionary</typeparam>
             <typeparam name="TValue">The type of value of the items in the dictionary</typeparam>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2._parent">
            <summary>
            The parent object that contains this enlistableobject
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.#ctor(System.Object)">
            <summary>
            Create a new Transacted Dictionary
            </summary>
            <param name="parent">The parent object that contains this object</param>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2._cachedEnumerableReference">
            <summary>
            Cached enumerator guarantees that the enumerator isn't working over live data (see remarks).
            </summary>
            <remarks>
            The enumerator returned from GetEnumerator() has to be immutable, even
            though the underlying dictionary may change. Hence to guarantee this we have to 
            return a copy, and not a live IEnumerator that enumerates over a potentially
            changing _master or transaction.AddedItems dictionaries.
            However, we don't want to re-build the enumerator each time on GetEnumerator()
            especially if there were no changes made since the last enumeration.
            The _cachedEnumerator thus keeps returning the last enumeration found, but is cleared
            whenever a change is made through a Commit().
            </remarks>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2._cachedCount">
            <summary>
            Cached count value for the Count property.
            Is recomputed every time the cached enumerator changes.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.TransactedDictionaryChangeHandler">
            <summary>
            Delegate declaration for the handler when the dictionary changes
            </summary>
            <param name="isolator">The isolator for the transation</param>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.TransactedDictionaryChanges">
            <summary>
            The event to raise when the dictionary changes
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.ConflictResolver">
            <summary>
            Delegate declaration for the conflict resolver that will be called to resolve conflicts
            </summary>
            <param name="currentValue">The old value (being changed)</param>
            <param name="newValue">The new value (overwriting)</param>
            <returns>The resolved value to keep</returns>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.CommitChangesConflictResolver">
            <summary>
            Event to raise when there are conflicts during transaction commit
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.GetCoalescedList(Microsoft.VisualStudio.GraphModel.TransactedDictionaryIsolator{`0,`1})">
            <summary>
            Returns a coalesced list which merges the values from the master dictionary
            and that of the transaction 
            </summary>
            <param name="enlistmentData">The enlistment data, which contains the set of added and removed items</param>
            <returns>The coalesced list.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.System#Collections#Generic#IEnumerable{System#Collections#Generic#KeyValuePair{TKey,TValue}}#GetEnumerator">
            <summary>
            The GetEnumerator implementation of the IEnumerable&lt;KeyValuePair&lt;TKey, TValue&gt;&gt; interface 
            </summary>
            <returns>The coalescing or master enumerator, depending on whether the call is made from a
            transaction or not.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            The GetEnumerator implementation of the IEnumerable (non-generic) interface 
            </summary>
            <returns>A non-generic version of the generic enumerator</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.Add(`0,`1)">
            <summary>
            Add an item to the dictionary. This creates a transaction scope, which will create
            a transaction (if there isn't already one).
            It then adds the value into the enlisting object of the transaction. If the transaction
            aborts, the values will be discarded, never making it into the dictionary.
            </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>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.Remove(`0,`1)">
            <summary>
            Removes an item to the dictionary. This creates a transaction scope, which will create
            a transaction (if there isn't already one).
            It then adds the value into a removed section of the enlisting object of the transaction.
            If the transaction aborts, the remove values will be discarded, never affecting the dictionary.
            </summary>
            <param name="key">The key of the element to remove. </param>
            <param name="value">The value to remove</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.Clear">
            <summary>
            Remove all values from the dictionary
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.Count">
            <summary>
            Returns the number of elements in the dictionary. This will either return the master
            count, or the master count + the number of items added during the transaction, - the number
            of items removed during the transaction
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.Item(`0)">
            <summary>
            Gets or sets the value associated with the specified key.
            This will either return an item from the master dictionary, or an item from the transaction
            Throws an exception if the item is not found
            </summary>
            <param name="key">The key of the value to get or set. </param>
            <returns>The value associated with the specified key. If the specified key is not found, a get operation throws 
            a KeyNotFoundException, and a set operation creates a new element with the specified key. </returns>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and key does not exist in the collection.
            </exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.TryGetValue(`0,`1@)">
            <summary>
            Gets the value associated with the specified key.
            This will either return an item from the master dictionary, or an item from the transaction
            </summary>
            <param name="key">The key of the value to get. </param>
            <param name="value">When this method returns, contains the value associated with the specified key, if the key is found; 
            otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized.</param>
            <returns>True if the dictionary contains an element with the specified key; otherwise, false. </returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.Keys">
            <summary>
            An Enumeration containing the keys of the IDictionary. 
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.Values">
            <summary>
            An Enumeration containing the Values of the IDictionary. 
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.Microsoft#VisualStudio#GraphModel#IEnlistableObject#Lock">
            <summary>
            Locks the master dictionary. This is called from prepare which locks all the applicable objects
            when a write is about to take place.
            Only take a lock on an object that will ALSO be locked elsewhere. Otherwise this is not needed.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.Microsoft#VisualStudio#GraphModel#IEnlistableObject#VerifyChanges(Microsoft.VisualStudio.GraphModel.IIsolatorObject)">
            <summary>
            Verifies the changes to be commited are valid. If not, an exception should be thrown.
            </summary>
            <param name="isolationObject">The isolation object for this transaction</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.Microsoft#VisualStudio#GraphModel#IEnlistableObject#CommitChanges(Microsoft.VisualStudio.GraphModel.IIsolatorObject)">
            <summary>
            Commit the changes to the master dictionary. This will be called between a Lock() and Unlock().
            </summary>
            <param name="isolationObject">This isolation object for this transaction</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.Microsoft#VisualStudio#GraphModel#IEnlistableObject#RollbackChanges(Microsoft.VisualStudio.GraphModel.IIsolatorObject)">
            <summary>
            This is called if the transaction is rolled back.
            </summary>
            <param name="isolationObject">The isolation object containing the changes we are reverting</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.Microsoft#VisualStudio#GraphModel#IEnlistableObject#Unlock">
            <summary>
            Unlock the master dictionary
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.ContainsKey(`0)">
            <summary>
            Sees whether the specified key exists in the hashset.
            This will either check the master dictionary, or an item from the transaction.
            </summary>
            <param name="key">The key of the value to get. </param>
            <returns>True if the dictionary contains an element with the specified key; otherwise, false. </returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedDictionary`2.Microsoft#VisualStudio#GraphModel#IEnlistableObject#Parent">
            <summary>
            Returns the parent object that contains this object
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.TransactedDictionaryIsolator`2">
            <summary>
            The set of all changes applied to a particular dictionary for use during a transaction.
            This maintains separate Added and Removed dictionaries that can be applied
            back to the master dictionary later.
            </summary>
            <typeparam name="TKey">The type of the key of the item in the list</typeparam>
            <typeparam name="T">The type of the item in the list</typeparam>
            <remarks> In some cases a key can end up in both lists i.e. when item changed</remarks>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedDictionaryIsolator`2._addedItems">
            <summary>
            The objects added during the transaction
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedDictionaryIsolator`2._removedItems">
            <summary>
            The objects removed during the transaction
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionaryIsolator`2.#ctor">
            <summary>
            Create new new Graph Object List
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionaryIsolator`2.Add(`0,`1)">
             <summary>
             Associates the item with a unique key.
             </summary>
             <param name="key">The key of the item to remove</param>
             <param name="item">The item to add</param>
             <remarks>
             If the (key,item) was previously on the removed list, 
             the entry will be deleted from the removed list and will not be added to the added list.
             If the key exists but the item does not we consider this as an update
             in the added list.
            </remarks>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionaryIsolator`2.Remove(`0,`1)">
            <summary>
            Remove an item. If the item was previously on the added list, 
            the item will be deleted from the added list and added to the removed list.
            </summary>
            <param name="key">The key of the item to remove</param>
            <param name="item">The item to remove</param>
            <remarks>
            If the (key,item) was previously on the added list, 
            the entry will be deleted from the added list.
            If the key exists but the item doesn not, we consider this as an update 
            in the removed list.
            </remarks>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionaryIsolator`2.ForgetItem(`0)">
            <summary>
            Remove the key from the list of added items or removed items
            </summary>
            <param name="key">The key of the item to forget</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionaryIsolator`2.GetEnumerator">
            <summary>
            Enumerate over the added items in the dictionary
            </summary>
            <returns>The enumerator</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionaryIsolator`2.Get(`0)">
            <summary>
            Get an item in the dictionary using the specified key
            </summary>
            <param name="key">Key of item to fetch</param>
            <returns>Item fetched, or null if it could not be found</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionaryIsolator`2.IsChangedKey(`0)">
            <summary>
            Returns whether an item is on the added or removal list
            </summary>
            <param name="item">Item to check</param>
            <returns>Item is on the removal list</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedDictionaryIsolator`2.AddedItems">
            <summary>
            List of added items
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedDictionaryIsolator`2.RemovedItems">
            <summary>
            List of removed items
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedDictionaryIsolator`2.Coalesce(System.Collections.Generic.IDictionary{`0,`1})">
            <summary>
            Returns all of the active nodes in the list, by merging the current list
            with what may have been deleted or added during the current transaction
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedDictionaryIsolator`2.AddedObjects">
            <summary>
            Gets the list of added objects for this isolator
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedDictionaryIsolator`2.RemovedObjects">
            <summary>
            Gets the list of added objects for this isolator
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1">
             <summary>
             Provides an implementation for a Transacted Dictionary. This provides the functions
             of a hashset, but can participate in a transaction enlistment through the passed in
             enlistable object.
            
             This works together with the GraphTransactionEnlistment which keeps enlistments for
             a group of enlistable objects, and will call into the enlistable objects during
             the Prepare and Commit phase.
             
             This class should remain a thin wrapper around the hashset as it should be replacable
             with little overhead. All overhead should be kept in the enlistable object inside
             the transaction (which are much less frequent).
             </summary>
             <typeparam name="T">The type of key of the items in the hashset</typeparam>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1._master">
            <summary>
            The private storage for the 'live' values.
            </summary>
            <remarks>
            Callers of the hashset API without any transaction gets 
            information from the master hashset as is.
            </remarks>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1.EmptyEnumerator">
            <summary>
            An empty enumerator to return if _master contains nothing.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1._parent">
            <summary>
            The parent object that contains this enlistableobject
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1.#ctor(System.Object)">
            <summary>
            Create a new Transacted Dictionary
            </summary>
            <param name="parent">The parent object that contains this object</param>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1._cachedEnumerator">
            <summary>
            The enumerator (cached) for the values in this collection
            </summary>
            <remarks>
            The enumerator returned from GetEnumerator() has to be immutable, even
            though the underlying dictionary may change. Hence to guarantee this we have to 
            return a copy, and not a live IEnumerator that enumerates over a potentially
            changing _master or transaction.AddedItems hashsets.
            However, we don't want to re-build the enumerator each time on GetEnumerator()
            especially if there were no changes made since the last enumeration.
            The _cachedEnumerator thus keeps returning the last enumeration found, but is cleared
            whenever a change is made through a Commit().
            </remarks>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1.GetCoalescedList(Microsoft.VisualStudio.GraphModel.TransactedHashSetIsolator{`0})">
            <summary>
            Returns a coalesced list which merges the values from the master hashset
            and that of the transaction 
            </summary>
            <param name="enlistmentData">The enlistment data, which contains the set of added and removed items</param>
            <returns>The coalesced list.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <summary>
            The GetEnumerator implementation of the IEnumerable&lt;T&gt; interface
            </summary>
            <returns>The coalescing or master enumerator, depending on whether the call is made from a
            transaction or not.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            The GetEnumerator implementation of the IEnumerable (non-generic) interface 
            </summary>
            <returns>A non-generic version of the generic enumerator</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1.Add(`0)">
            <summary>
            Add an item to the hashset. This creates a transaction scope, which will create
            a transaction (if there isn't already one).
            It then adds the value into the enlisting object of the transaction. If the transaction
            aborts, the values will be discarded, never making it into the hashset.
            </summary>
            <param name="key">The key of the element to add. </param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1.Remove(`0)">
            <summary>
            Removes an item to the hashset. This creates a transaction scope, which will create
            a transaction (if there isn't already one).
            It then adds the value into a removed section of the enlisting object of the transaction.
            If the transaction aborts, the remove values will be discarded, never affecting the hashset.
            </summary>
            <param name="key">The key of the element to remove. </param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1.Clear">
            <summary>
            Removes all items from the hashset. This creates a transaction scope, which will create
            a transaction (if there isn't already one).
            If the transaction aborts, the remove values will be discarded, never affecting the hashset.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1.Count">
            <summary>
            Returns the number of elements in the hashset. This will either return the master
            count, or the master count + the number of items added during the transaction, - the number
            of items removed during the transaction
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1.Contains(`0)">
            <summary>
            Sees whether the specified key exists in the hashset.
            This will either check the master hashset, or an item from the transaction.
            </summary>
            <param name="key">The key of the value to get. </param>
            <returns>True if the hashset contains an element with the specified key; otherwise, false. </returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#Lock">
            <summary>
            Locks the master hashset. This is called from prepare which locks all the applicable objects
            when a write is about to take place.
            Only take a lock on an object that will ALSO be locked elsewhere. Otherwise this is not needed.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#VerifyChanges(Microsoft.VisualStudio.GraphModel.IIsolatorObject)">
            <summary>
            Verifies the changes to be commited are valid. If not, an exception should be thrown.
            </summary>
            <param name="isolationObject">The isolation object (ignored)</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#CommitChanges(Microsoft.VisualStudio.GraphModel.IIsolatorObject)">
            <summary>
            Commit the changes to the master hashset. This will be called between a Lock() and Unlock().
            </summary>
            <param name="isolationObject">The isolation object for this transaction</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#RollbackChanges(Microsoft.VisualStudio.GraphModel.IIsolatorObject)">
            <summary>
            This is called if the transaction is rolled back.
            </summary>
            <param name="isolationObject">The isolation object containing the changes we are reverting</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#Unlock">
            <summary>
            Unlock the master hashset
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedHashSet`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#Parent">
            <summary>
            Returns the parent object that contains this object
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.TransactedHashSetIsolator`1">
            <summary>
            The set of all changes applied to a particular HashSet for use during a transaction.
            This maintains separate Added and Removed HashSets that can be applied
            back to the master HashSet later.
            </summary>
            <typeparam name="T">The type of the item in the HashSet</typeparam>
            <remarks>Add and Remove for the same item (or Remove and Add) will make it look as if it didn't change</remarks>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedHashSetIsolator`1._addedItems">
            <summary>
            The objects added during the transaction
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedHashSetIsolator`1._removedItems">
            <summary>
            The objects removed during the transaction
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSetIsolator`1.#ctor">
            <summary>
            Create new new Graph Object List
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSetIsolator`1.Add(`0)">
            <summary>
            Add an item.
            </summary>
            <param name="item">The item to add</param>
            <remarks>If the item was previously on the removed list, the object will be deleted from the removed list and will not be considered as added.</remarks>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSetIsolator`1.Remove(`0)">
            <summary>
            Remove an item. 
            </summary>
            <param name="item">The item to add</param>
            <remarks>If the item was previously on the added list, the object will be deleted from the added list and will not be considered as removed.</remarks>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSetIsolator`1.GetEnumerator">
            <summary>
            Enumerate over the added items in the HashSet
            </summary>
            <returns>The enumerator</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSetIsolator`1.Get(`0)">
            <summary>
            Get an item in the HashSet using the specified key
            </summary>
            <param name="key">Key of item to fetch</param>
            <returns>Item fetched, or null if it could not be found</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSetIsolator`1.IsRemoved(`0)">
            <summary>
            Returns whether an item is on the removal list
            </summary>
            <param name="item">Item to check</param>
            <returns>Item is on the removal list</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSetIsolator`1.IsChangedKey(`0)">
            <summary>
            Returns whether an item is on the added or removal list
            </summary>
            <param name="item">Item to check</param>
            <returns>Item is on the removal list</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedHashSetIsolator`1.AddedItems">
            <summary>
            List of added items
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedHashSetIsolator`1.RemovedItems">
            <summary>
            List of removed items
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedHashSetIsolator`1.Coalesce(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Returns all of the active nodes in the list, by merging the current list
            with what may have been deleted or added during the current transaction
            </summary>
            <param name="currentSet">The existing nodes to coalesce</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedHashSetIsolator`1.AddedObjects">
            <summary>
            Gets the list of added objects for this isolator
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedHashSetIsolator`1.RemovedObjects">
            <summary>
            Gets the list of added objects for this isolator
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.TransactedList`1">
             <summary>
             Provides an implementation for a Transacted Dictionary. This provides the functions
             of a list, but can participate in a transaction enlistment through the passed in
             enlistable object.
            
             This works together with the GraphTransactionEnlistment which keeps enlistments for
             a group of enlistable objects, and will call into the enlistable objects during
             the Prepare and Commit phase.
             
             This class should remain a thin wrapper around the list as it should be replacable
             with little overhead. All overhead should be kept in the enlistable object inside
             the transaction (which are much less frequent).
             </summary>
             <typeparam name="T">The type of key of the items in the list</typeparam>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedList`1._master">
            <summary>
            Private storage of the master list of 'live' values.
            </summary>
            <remarks>
            Callers of the list API without any transaction gets information from the master list as is.
            </remarks>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedList`1._parent">
            <summary>
            Private storage for the parent object that contains this enlistable object
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedList`1.#ctor(System.Object)">
            <summary>
            Create a new Transacted Dictionary
            </summary>
            <param name="parent">The parent object that contains this object</param>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedList`1._cachedEnumerator">
            <summary>
            The enumerator for this collection (cached)
            </summary>
            <remarks>
            The enumerator returned from GetEnumerator() has to be immutable, even
            though the underlying dictionary may change. Hence to guarantee this we have to 
            return a copy, and not a live IEnumerator that enumerates over a potentially
            changing _master or transaction.AddedItems hashsets.
            However, we don't want to re-build the enumerator each time on GetEnumerator()
            especially if there were no changes made since the last enumeration.
            The _cachedEnumerator thus keeps returning the last enumeration found, but is cleared
            whenever a change is made through a Commit().
            </remarks>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedList`1.GetCoalescedList(Microsoft.VisualStudio.GraphModel.TransactedListIsolator{`0})">
            <summary>
            Returns a coalesced list which merges the values from the master list
            and that of the transaction 
            </summary>
            <param name="enlistmentData">The enlistment data, which contains the set of added and removed items</param>
            <returns>The coalesced list.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedList`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <summary>
            The GetEnumerator implementation of the IEnumerable&lt;T&gt; interface 
            </summary>
            <returns>The coalescing or master enumerator, depending on whether the call is made from a
            transaction or not.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedList`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            The GetEnumerator implementation of the IEnumerable (non-generic) interface 
            </summary>
            <returns>A non-generic version of the generic enumerator</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedList`1.Add(`0)">
            <summary>
            Add an item to the list. This creates a transaction scope, which will create
            a transaction (if there isn't already one).
            It then adds the value into the enlisting object of the transaction. If the transaction
            aborts, the values will be discarded, never making it into the list.
            </summary>
            <param name="key">The key of the element to add. </param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedList`1.Insert(System.Int32,`0)">
            <summary>
            Insert an item to the list at the given location. This creates a transaction scope, which will create
            a transaction (if there isn't already one).
            It then adds the value into the enlisting object of the transaction. If the transaction
            aborts, the values will be discarded, never making it into the list.
            </summary>
            <param name="index">The index of the element to add</param>
            <param name="key">The key of the element to add.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedList`1.Remove(`0)">
            <summary>
            Removes an item to the list. This creates a transaction scope, which will create
            a transaction (if there isn't already one).
            It then adds the value into a removed section of the enlisting object of the transaction.
            If the transaction aborts, the remove values will be discarded, never affecting the list.
            </summary>
            <param name="key">The key of the element to remove. </param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedList`1.Clear">
            <summary>
            Clear all items in the list.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedList`1.Count">
            <summary>
            Returns the number of elements in the list. This will either return the master
            count, or the master count + the number of items added during the transaction, - the number
            of items removed during the transaction
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedList`1.Item(System.Int32)">
            <summary>
            Gets the element at the specified index. 
            This will either return/set an item in the master list, or an item from the transaction
            Throws an exception if the item is not found
            </summary>
            <param name="index">The zero-based index of the element to get or set.  </param>
            <returns>The value associated with the specified key. If the specified key is not found, a get operation throws 
            a KeyNotFoundException, and a set operation creates a new element with the specified key. </returns>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and key does not exist in the collection.
            </exception>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedList`1.Contains(`0)">
            <summary>
            Sees whether the specified key exists in the list.
            This will either check the master list, or an item from the transaction.
            </summary>
            <param name="key">The key of the value to get. </param>
            <returns>True if the list contains an element with the specified key; otherwise, false. </returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedList`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#Lock">
            <summary>
            Locks the master list. This is called from prepare which locks all the applicable objects
            when a write is about to take place.
            Only take a lock on an object that will ALSO be locked elsewhere. Otherwise this is not needed.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedList`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#VerifyChanges(Microsoft.VisualStudio.GraphModel.IIsolatorObject)">
            <summary>
            Verifies the changes to be commited are valid. If not, an exception should be thrown.
            </summary>
            <param name="isolationObject">The isolation object for this transaction</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedList`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#CommitChanges(Microsoft.VisualStudio.GraphModel.IIsolatorObject)">
            <summary>
            Commit the changes to the master list. This will be called between a Lock() and Unlock().
            </summary>
            <param name="isolationObject">The isolation object for this transaction</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedList`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#RollbackChanges(Microsoft.VisualStudio.GraphModel.IIsolatorObject)">
            <summary>
            This is called if the transaction is rolled back.
            </summary>
            <param name="isolationObject">The isolation object containing the changes we are reverting</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedList`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#Unlock">
            <summary>
            Unlock the master list
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedList`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#Parent">
            <summary>
            Returns the parent object that contains this object
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.TransactedListIsolator`1">
            <summary>
            The set of all changes applied to a particular List for use during a transaction.
            This maintains separate Added and Removed Lists that can be applied
            back to the master List later.
            </summary>
            <typeparam name="T">The type of the item in the List</typeparam>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedListIsolator`1._insertPositions">
            <summary>
            Internal storage for the insert positions of the transacted list
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedListIsolator`1._addedItems">
            <summary>
            The objects added during the transaction
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedListIsolator`1._removedItems">
            <summary>
            The objects removed during the transaction
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedListIsolator`1.#ctor">
            <summary>
            Create new new tracker
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedListIsolator`1.Add(`0)">
            <summary>
            Add an item. If the item was previously on the removed list, 
            the object will be deleted from the removed list and added to the added list.
            </summary>
            <param name="item">The item to add</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedListIsolator`1.Insert(System.Int32,`0)">
            <summary>
            Insert an item. If the item was previously on the removed list, 
            the object will be deleted from the removed list and added to the added list.
            </summary>
            <param name="index">Index to insert into</param>
            <param name="item">The item to add</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedListIsolator`1.Remove(`0)">
            <summary>
            Remove an item. If the item was previously on the added list, 
            the item will be deleted from the added list and added to the removed list.
            </summary>
            <param name="item">The item to add</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedListIsolator`1.IsChangedKey(`0)">
            <summary>
            Returns whether an item is on the added or removal list
            </summary>
            <param name="item">Item to check</param>
            <returns>Item is on the removal list</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedListIsolator`1.IsRemoved(`0)">
            <summary>
            Returns whether an item is on the removal list
            </summary>
            <param name="item">Item to check</param>
            <returns>Item is on the removal list</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedListIsolator`1.AddedItems">
            <summary>
            List of added items
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedListIsolator`1.RemovedItems">
            <summary>
            List of removed items
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedListIsolator`1.Coalesce(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Returns all of the active nodes in the list, by merging the current list
            with what may have been deleted or added during the current transaction
            </summary>
            <param name="currentSet">The current nodes in the list being coalesced</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedListIsolator`1.CoalesceInserts(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Returns all of the active nodes in the list, by merging the current list
            with what may have been deleted or added or inserted during the current transaction
            </summary>
            <param name="currentSet">The current nodes in the list being coalesced</param>
            <returns>All the nodes in the list</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedListIsolator`1.CoaleseSimple(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Returns all of the active nodes in the list, by merging the current list
            with what may have been deleted or added during the current transaction
            </summary>
            <param name="currentSet">The current set of nodes to coalesce</param>
            <returns>The collection of nodes coalesced</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedListIsolator`1.AddedObjects">
            <summary>
            Gets the list of added objects for this isolator
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedListIsolator`1.RemovedObjects">
            <summary>
            Gets the list of added objects for this isolator
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1">
             <summary>
             Provides an implementation of IPropertyList which also participates in transactions.
            
             This works together with the GraphTransactionEnlistment which keeps enlistments for
             a group of enlistable objects, and will call into the enlistable objects during
             the Prepare and Commit phase.
             </summary>
             <typeparam name="T">The type of items in the property list</typeparam>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1._master">
            <summary>
            master property list
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1._parent">
            <summary>
            parent of this transacted property list
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1._cachedList">
            <summary>
            cached enumerable which is a merge of master and transaction changes. created only when needed and cleared on commits.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1._cachedListCount">
            <summary>
            size of the cached list
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1._isValueType">
            <summary>
            true if generic type is a value type
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1.#ctor(System.Object)">
            <summary>
            Constructor for the TransactedPropertyList class
            </summary>
            <param name="parent">The parent object that contains this property list</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1.CreateCachedEnumerable(Microsoft.VisualStudio.GraphModel.TransactedPropertyListIsolator{`0})">
            <summary>
            Creates a cached property list enumerable which is a merge the master list with the transaction's changes.
            </summary>
            <param name="enlistmentData">The property list isolator for this transaction</param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1.Count">
            <summary>
            count of PropertyList
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1.Properties">
            <summary>
            Property that returns an enumeration of all key value pairs. The order of the enumeration is random.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1.PropertyKeys">
            <summary>
            Property that returns an enumeration of all keys. The order of the enumeration is random.
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1.PropertyValues">
            <summary>
            Property that returns an enumeration of all values. The order of the enumeration is random.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1.Clear(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Clears (removes) specified property from the list. Returns the value which was removed if property was found,
            otherwise default value is returned.
            </summary>
            <param name="property">The property to clear</param>
            <returns>The value which was removed from the property if found, default value otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1.Contains(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Determines if the given property is in the list
            </summary>
            <param name="property">The property to search for</param>
            <returns>True if the property is in the list, false otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1.GetValue(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Gets the value associated with the specified property. 
            </summary>
            <param name="property">The property to search for</param>
            <returns>The value of the property if found, default value otherwise</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1.SetValue(Microsoft.VisualStudio.GraphModel.GraphProperty,Microsoft.VisualStudio.GraphModel.Graph,`0)">
            <summary>
            Sets an annotation of the specified property to the specified value. 
            </summary>
            <param name="property">The property to set</param>
            <param name="metadataGraph">The Graph (or GraphSchema) from which to retrieve additional metadata about this object</param>
            <param name="value">The value to set the property to</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1.TryGetValue(Microsoft.VisualStudio.GraphModel.GraphProperty,`0@)">
            <summary>
            Tries to find the given property. If found, true is returned and value is set.
            </summary>
            <param name="property">The property to search for</param>
            <param name="value">The value of the property, if found</param>
            <returns>True if the property is found, false otherwise</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#Parent">
            <summary>
            Returns the parent object that contains this object
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#Lock">
            <summary>
            Locks the master hashset. This is called from prepare which locks all the applicable objects
            when a write is about to take place.
            Only take a lock on an object that will ALSO be locked elsewhere. Otherwise this is not needed.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#VerifyChanges(Microsoft.VisualStudio.GraphModel.IIsolatorObject)">
            <summary>
            Verifies the changes to be commited are valid. If not, an exception should be thrown.
            </summary>
            <param name="isolationObject">The isolation object for this transaction (ignored)</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#CommitChanges(Microsoft.VisualStudio.GraphModel.IIsolatorObject)">
            <summary>
            Commit the changes to the master hashset. This will be called between a Lock() and Unlock().
            </summary>
            <param name="isolationObject">The isolation object for this transaction</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#RollbackChanges(Microsoft.VisualStudio.GraphModel.IIsolatorObject)">
            <summary>
            This is called if the transaction is rolled back.
            </summary>
            <param name="isolationObject">The isolation object containing the changes we are reverting</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedPropertyList`1.Microsoft#VisualStudio#GraphModel#IEnlistableObject#Unlock">
            <summary>
            Unlock the master hashset
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.TransactedPropertyListIsolator`1">
            <summary>
            The set of all changes applied to a particular HashSet for use during a transaction.
            This maintains separate Added and Removed HashSets that can be applied
            back to the master HashSet later.
            </summary>
            <typeparam name="T">The type of the item in the HashSet</typeparam>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedPropertyListIsolator`1._addedItems">
            <summary>
            The objects added during the transaction
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.TransactedPropertyListIsolator`1._removedItems">
            <summary>
            The objects removed during the transaction
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedPropertyListIsolator`1.AddedItems">
            <summary>
            List of added items
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedPropertyListIsolator`1.RemovedItems">
            <summary>
            List of removed items
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedPropertyListIsolator`1.Add(Microsoft.VisualStudio.GraphModel.GraphProperty,Microsoft.VisualStudio.GraphModel.Graph,`0)">
            <summary>
            marks a property/value pair for addition to the property list
            </summary>
            <param name="property">The property to add into this this transaction</param>
            <param name="metadataGraph">The Graph (or GraphSchema) from which to retrieve additional metadata about this object</param>
            <param name="value">The value of the property</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedPropertyListIsolator`1.Remove(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            marks a property for removal from the property list
            </summary>
            <param name="property">The property to remove from the property list</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.TransactedPropertyListIsolator`1.IsChangedKey(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Returns whether an item is on the added or removal list
            </summary>
            <param name="property">Property to check</param>
            <returns>Item is on the removal list</returns>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedPropertyListIsolator`1.AddedObjects">
            <summary>
            Gets the list of added objects for this isolator
            </summary>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.TransactedPropertyListIsolator`1.RemovedObjects">
            <summary>
            Gets the list of removed objects for this isolator
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.UndoOption">
            <summary>
            This enum controls how the undoable operation is treated on the undo stack.  
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.UndoOption.Add">
            <summary>
            Add a new undo unit to the undo stack representing the changes made in the UndoableGraphTransactionScope.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.UndoOption.Disable">
            <summary>
            Do not add any undo unit to the undo stack.  This is handy for hidden operations on the GraphModel that the user doesn't see.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.UndoOption.Merge">
            <summary>
            Try and merge the undo unit with any previous undo unit that has the same undoUnitId.  If no matching undo unit is found, this unit is dropped.
            This is handy for undo units that are a result of something asynchronous happening after the "Add" item has been added.  For example, you
            might add a "MoveNode" unit UndoOption.Add, but then later as the mouse moves you send a series of UndoOption.Merge with the same "MoveNode" id 
            as the Add operation so that all the move operations are rolled up into one atomic undo unit until mouse up is received.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.UndoableGraphTransactionScope">
            <summary>
            This is a special graph transaction scope designed to be used for undoable edits (that show up in the host application undo stack).
            </summary>
        </member>
        <member name="E:Microsoft.VisualStudio.GraphModel.UndoableGraphTransactionScope.Disposed">
            <summary>
            Will be notified when this scope is disposed
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.UndoableGraphTransactionScope.#ctor(System.String)">
            <summary>
            Construct a new UndoableGraphTransactionScope
            </summary>
            <param name="undoDescription">The user displayable string description</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.UndoableGraphTransactionScope.#ctor(Microsoft.VisualStudio.GraphModel.UndoOption)">
            <summary>
            Construct a new UndoableGraphTransactionScope
            </summary>
            <param name="option">Option on how the change should be handled on the application undo stack</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.UndoableGraphTransactionScope.#ctor(System.Object,Microsoft.VisualStudio.GraphModel.UndoOption)">
            <summary>
            Construct a new UndoableGraphTransactionScope
            </summary>
            <param name="undoUnitId">The id of the undoable action, should not be a System.String object</param>
            <param name="option">Option on how the change should be handled on the application undo stack</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.UndoableGraphTransactionScope.#ctor(System.Object,System.String,Microsoft.VisualStudio.GraphModel.UndoOption)">
            <summary>
            Construct a new UndoableGraphTransactionScope
            </summary>
            <param name="undoUnitId">The id of the undoable action, should not be a System.String object because string equality doesn't
            honor object identity, therefore UndoOption.Merge of these items could result in unintended behavior where undo units
            merge when you didn't expect them to.  The object identify of the undoUnitId is the deciding factor for determining
            which undo units to merge.</param>
            <param name="undoDescription">The user displayable string description</param>
            <param name="option">Option on how the change should be handled on the application undo stack</param>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.UndoableGraphTransactionScope.#ctor(System.Object,System.String,Microsoft.VisualStudio.GraphModel.UndoOption,System.Boolean)">
            <summary>
            Construct a new UndoableGraphTransactionScope
            </summary>
            <param name="undoUnitId">The id of the undoable action, should not be a System.String object because string equality doesn't
            honor object identity, therefore UndoOption.Merge of these items could result in unintended behavior where undo units
            merge when you didn't expect them to.  The object identify of the undoUnitId is the deciding factor for determining
            which undo units to merge.</param>
            <param name="undoDescription">The user displayable string description</param>
            <param name="option">Option on how the change should be handled on the application undo stack</param>
            <param name="forceAdd">
            This is only valid if the option is UndoOption.Add, which causes a new undo unit even if it is empty. This is handy when you 
            are doing a compound operation made up of multiple merged undo units where you need to be sure the Add operation adds the 
            initial unit even if it's empty.
            </param>
        </member>
        <member name="P:Microsoft.VisualStudio.GraphModel.UndoableGraphTransactionScope.NonDisabledTransactions">
            <summary>
            Returns the number of the non-disabled active transcations associated with 
            the thread that this transaction scope was created on
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.GraphModel.UndoableGraphTransactionScope.ActiveTransactionsChanged">
            <summary>
            Notifies when the number of active transaction is changing.
            </summary>
            <remarks>For transactions with <see cref="F:Microsoft.VisualStudio.GraphModel.UndoOption.Disable" /> no change event will be raised</remarks>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.UndoableGraphTransactionScope.GetUndoOption(System.Collections.Generic.Dictionary{System.Object,System.Object})">
            <summary>
            Get the UndoOption associated from the given transaction scope properties.
            </summary>
            <param name="scopeProperties">The property bag from the transaction scope in question.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.UndoableGraphTransactionScope.GetUndoDescription(System.Collections.Generic.Dictionary{System.Object,System.Object})">
            <summary>
            Get the undo description from the given transaction scope properties.
            </summary>
            <param name="scopeProperties">The property bag from the transaction scope in question.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.UndoableGraphTransactionScope.GetUndoId(System.Collections.Generic.Dictionary{System.Object,System.Object})">
            <summary>
            Get the Id associated with the given GraphTransactionEnlistment
            </summary>
            <param name="scopeProperties">The property bag from the transaction scope in question.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.VisualStudio.GraphModel.UndoableGraphTransactionScope.IsForceAdd(System.Collections.Generic.Dictionary{System.Object,System.Object})">
            <summary>
            Get if the transaction is marked as "force add", which will create an undo unit even if it's empty.
            </summary>
            <param name="scopeProperties">The property bag from the transaction scope in question.</param>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.WeakEventDelegate`1">
            <summary>
            This object holds onto a weak reference to a delegate so
            that a class that exposes events can uses a list of these objects instead
            of maintaining a strong reference to all objects that signed up for an event.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.GraphModel.WeakEventDelegateCollection`1">
            <summary>
            Holds onto a list of weak event delegates and allows firing of the delegates
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper">
            <summary>
            Helper class for <see cref="T:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracer" /> that provides additional functionality
            specific to graph model objects and properties.
            <see cref="T:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracer" /> needs to be enabled in order for the tracing to happen.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.SetPropertiesToTrace(System.String[])">
            <summary>
            Sets the graph model properties to debug. Passing a null will turn off filtering.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.SetLabelsToTrace(System.String[])">
            <summary>
            Sets the graph model object labels to debug. Passing a null will turn off filtering.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.ShouldTraceProperty(System.String)">
            <summary>
            Whether a property should be traced
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.ShouldTraceProperty(Microsoft.VisualStudio.GraphModel.GraphProperty)">
            <summary>
            Whether a property should be traced
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.ShouldTraceObject(System.Object)">
            <summary>
            Whether should trace an object
            </summary>
            <param name="obj">GraphObject is the only object supported at this point. Can be nulls.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.TraceStateIfTrackingGraphElements(Microsoft.VisualStudio.GraphModel.GraphObject,System.String,Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugCategory,Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.ITraceableIdentifiableObject,System.Boolean,System.Boolean,System.String,System.Object[])">
            <summary>
            Calls <see cref="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.IDebugTracer.TraceState(Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugCategory,Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.ITraceableIdentifiableObject,System.Boolean,System.Boolean,System.String,System.Object[])" /> if
            object is being tracked and property is being tracked. Not setting any property filters will emit minimal information to reduce overhead.
            Also calls <see cref="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.ShouldTraceObject(System.Object)" /> and <see cref="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.ShouldTraceProperty(Microsoft.VisualStudio.GraphModel.GraphProperty)" />
            </summary>
            <param name="obj">Conditional object. If null the condition is ignored</param>
            <param name="propertyId">Conditional property id. If null the condition is ignored</param>
        </member>
        <member name="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.TraceStateIfTrackingGraphElements(Microsoft.VisualStudio.GraphModel.GraphObject,Microsoft.VisualStudio.GraphModel.GraphProperty,Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugCategory,Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.ITraceableIdentifiableObject,System.Boolean,System.Boolean,System.String,System.Object[])">
            <summary>
            Calls <see cref="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.IDebugTracer.TraceState(Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugCategory,Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.ITraceableIdentifiableObject,System.Boolean,System.Boolean,System.String,System.Object[])" /> if
            object is being tracked and property is being tracked. Not setting any property filters will emit minimal information to reduce overhead.
            Also calls <see cref="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.ShouldTraceObject(System.Object)" /> and <see cref="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.ShouldTraceProperty(Microsoft.VisualStudio.GraphModel.GraphProperty)" />
            </summary>
            <param name="obj">Conditional object. If null the condition is ignored</param>
            <param name="prop">Conditional property. If null the condition is ignored</param>
        </member>
        <member name="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.TraceMessageIfTrackingGraphElements(Microsoft.VisualStudio.GraphModel.GraphObject,Microsoft.VisualStudio.GraphModel.GraphProperty,Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugCategory,System.Boolean,System.String,System.Object[])">
            <summary>
            Calls <see cref="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.IDebugTracer.TraceMessage(Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugCategory,System.Boolean,System.String,System.Object[])" /> if
            object is being tracked and property is being tracked. Not setting any property filters will emit minimal information to reduce overhead.
            Also calls <see cref="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.ShouldTraceObject(System.Object)" /> and <see cref="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.ShouldTraceProperty(Microsoft.VisualStudio.GraphModel.GraphProperty)" />
            </summary>
            <param name="obj">Conditional object. If null the condition is ignored</param>
            <param name="prop">Conditional property. If null the condition is ignored</param>
        </member>
        <member name="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.TraceMessageIfTrackingGraphElements(Microsoft.VisualStudio.GraphModel.GraphObject,System.String,Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugCategory,System.Boolean,System.String,System.Object[])">
            <summary>
            Calls <see cref="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.IDebugTracer.TraceMessage(Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugCategory,System.Boolean,System.String,System.Object[])" /> if
            object is being tracked and property is being tracked. Not setting any property filters will emit minimal information to reduce overhead.
            Also calls <see cref="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.ShouldTraceObject(System.Object)" /> and <see cref="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.ShouldTraceProperty(Microsoft.VisualStudio.GraphModel.GraphProperty)" />
            </summary>
            <param name="obj">Conditional object. If null the condition is ignored</param>
            <param name="propertyId">Conditional property id. If null the condition is ignored</param>
        </member>
        <member name="M:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.DebugTracerGraphModelHelper.DEBUG_GetLabelOrId(Microsoft.VisualStudio.GraphModel.GraphObject)">
            <summary>
            Returns the label of an object or the id if the label is null. Should be used for tracing <see cref="T:Microsoft.VisualStudio.Diagnostics.PerformanceProvider.DebugTrace.IDebugTracer" />
            </summary>
            <remarks>Will only return non-empty string in DEBUG</remarks>
        </member>
    </members>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /><SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" /><DigestValue>6sXwv3qqJWGO5vj+QOb7qe2jS+Hv3U1wV8G7eYb8AnM=</DigestValue></Reference></SignedInfo><SignatureValue>A2tU+vhjLGxXwRsapWRZfR0g3hLGjPepOyLu4AUi/neezGieFgizkawzl+Ak4h3COCGOdW5v95S3Bbucw5ClZCqVrHAlqBIp4IfjvYuxaNr/WVFhsCZCePsJOxAnqY2GI6vYcXE89rKdY5Dr3RBzaL93YSUDRoCUO4pYowuLxQOZyLeOb8XnFRJZVjZqx/rjD1A7o6uqEYwraXpzNHACtXHq4rqAllxw3QXjAwk9jj8i+ViMkX50j5Xy9RKUEZ3qo6hhz8eyutf7XcwuPGeEeknjXk8HvkhVAEQXICD/MBssYZBLN3MJ72hQptKRYz7g7EiGHdl0kLh3Wbf6Nqmb7g==</SignatureValue><KeyInfo><KeyValue><RSAKeyValue><Modulus>tCg32mOdDA6rBBnZSMwxwXegqiDEUFlvQH9Sxww07hY3w7L52tJxLg0mCZjcszQddI6W4NJYb5E9QM319kyyE0l8EvA/pgcxgljDP8E6XIlgVf6W40ms286Cr0azaA1f7vaJjjNhGsMqOSSSXTZDNnfKs5ENG0bkXeB2q5hrp0qLsm/TWO3oFjeROZVHN2tgETswHR3WKTm6QjnXgGNj+V6rSZJO/WkTqc8NesAo3Up/KjMwgc0e67x9llZLxRyyMWUBE9coT2+pUZqYAUDZ84nR1djnMY3PMDYiA84Gw5JpceeED38O0cEIvKdX8uG8oQa047+evMfDRr94MG9EWw==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><X509Data><X509Certificate>MIIF9DCCA9ygAwIBAgITMwAABARsdAb/VysncgAAAAAEBDANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMB4XDTI0MDkxMjIwMTExNFoXDTI1MDkxMTIwMTExNFowdDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEeMBwGA1UEAxMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtCg32mOdDA6rBBnZSMwxwXegqiDEUFlvQH9Sxww07hY3w7L52tJxLg0mCZjcszQddI6W4NJYb5E9QM319kyyE0l8EvA/pgcxgljDP8E6XIlgVf6W40ms286Cr0azaA1f7vaJjjNhGsMqOSSSXTZDNnfKs5ENG0bkXeB2q5hrp0qLsm/TWO3oFjeROZVHN2tgETswHR3WKTm6QjnXgGNj+V6rSZJO/WkTqc8NesAo3Up/KjMwgc0e67x9llZLxRyyMWUBE9coT2+pUZqYAUDZ84nR1djnMY3PMDYiA84Gw5JpceeED38O0cEIvKdX8uG8oQa047+evMfDRr94MG9EWwIDAQABo4IBczCCAW8wHwYDVR0lBBgwFgYKKwYBBAGCN0wIAQYIKwYBBQUHAwMwHQYDVR0OBBYEFPIboTWxEw1PmVpZS+AzTDwooxFOMEUGA1UdEQQ+MDykOjA4MR4wHAYDVQQLExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xFjAUBgNVBAUTDTIzMDAxMis1MDI5MjMwHwYDVR0jBBgwFoAUSG5k5VAF04KqFzc3IrVtqMp1ApUwVAYDVR0fBE0wSzBJoEegRYZDaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljQ29kU2lnUENBMjAxMV8yMDExLTA3LTA4LmNybDBhBggrBgEFBQcBAQRVMFMwUQYIKwYBBQUHMAKGRWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljQ29kU2lnUENBMjAxMV8yMDExLTA3LTA4LmNydDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4ICAQCI5g/SKUFb3wdUHob6Qhnu0Hk0JCkO4925gzI8EqhS+K4umnvSBU3acsJ+bJprUiMimA59/5x7WhJ9F9TQYy+aD9AYwMtbKsQ/rst+QflfML+Rq8YTAyT/JdkIy7R/1IJUkyIS6srfG1AKlX8n6YeAjjEb8MI07wobQp1F1wArgl2B1mpTqHNDlNqBjfpjySCScWjUHNbIwbDGxiFr93JoEh5AhJqzL+8monaXj7elfsjzIpPnl8NyH2eXjTojYC9a2c4EiX0571KomhENF3RtR25A7/X7+gk6upuE8tyMy4sBkl2MUSF08U+E2LOVcR8trhYxV1lUi9CdgEU2CxODspdcFwxdT1+G8YNcgzHyjx3BNSI4nOZcdSnStUpGhCXbaOIXfvtOSfQX/UwJoruhCugvTnub0Wna6CQiturglCOMyIy/6hu5rMFvqk9AltIJ0fSR5FwljW6PHHDJNbCWrZkaEgIn24M2mG1M/Ppb/iF8uRhbgJi5zWxo2nAdyDBqWvpWxYIoee/3yIWpquVYcYGhJp/1I1sq/nD4gBVrk1SKX7Do2xAMMO+cFETTNSJqfTSSsntTtuBLKRB5mw5qglHKuzapDiiBuD1Zt4QwxA/1kKcyQ5L7uBayG78kxlVNNbyrIOFH3HYmdH0Pv1dIX/Mq7avQpAfIiLpOWwcbjw==</X509Certificate><X509Certificate>MIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzQ==</X509Certificate><X509Certificate>MIIF7TCCA9WgAwIBAgIQP4vItfyfspZDtWnWbELhRDANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwMzIyMjIwNTI4WhcNMzYwMzIyMjIxMzA0WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCygEGqNThNE3IyaCJNuLLx/9VSvGzH9dJKjDbu0cJcfoyKrq8TKG/Ac+M6ztAlqFo6be+ouFmrEyNozQwph9FvgFyPRH9dkAFSWKxRxV8qh9zc2AodwQO5e7BW6KPeZGHCnvjzfLnsDbVU/ky2ZU+I8JxImQxCCwl8MVkXeQZ4KI2JOkwDJb5xalwL54RgpJki49KvhKSn+9GY7Qyp3pSJ4Q6g3MDOmT3qCFK7VnnkH4S6Hri0xElcTzFLh93dBWcmmYDgcRGjuKVB4qRTufcyKYMME782XgSzS0NHL2vikR7TmE/dQgfI6B0S/Jmpaz6SfsjWaTr8ZL22CZ3K/QwLopt3YEsDlKQwaRLWQi3BQUzK3Kr9j1uDRprZ/LHR47PJf0h6zSTwQY9cdNCssBAgBkm3xy0hyFfj0IbzA2j70M5xwYmZSmQBbP3sMJHPQTySx+W6hh1hhMdfgzlirrSSL0fzC/hV66AfWdC7dJse0Hbm8ukG1xDo+mTeacY1logC8Ea4PyeZb8txiSk190gWAjWP1Xl8TQLPX+uKg09FcYj5qQ1OcunCnAfPSRtOBA5jUYxe2ADBVSy2xuDCZU7JNDn1nLPEfuhhbhNfFcRf2X7tHc7uROzLLoax7Dj2cO2rXBPB2Q8Nx4CyVe0096yb5MPa50c8prWPMd/FS6/r8QIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUci06AjGQQ7kUBU7h6qfHMdEjiTQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQELBQADggIBAH9yzw+3xRXbm8BJyiZb/p4T5tPw0tuXX/JLP02zrhmu7deXoKzvqTqjwkGw5biRnhOBJAPmCf0/V0A5ISRW0RAvS0CpNoZLtFNXmvvxfomPEf4YbFGq6O0JlbXlccmh6Yd1phV/yX43VF50k8XDZ8wNT2uoFwxtCJJ+i92Bqi1wIcM9BhS7vyRep4TXPw8hIr1LAAbblxzYXtTFC1yHblCk6MM4pPvLLMWSZpuFXst6bJN8gClYW1e1QGm6CHmmZGIVnYeWRbVmIyADixxzoNOieTPgUFmG2y/lAiXqcyqfABTINseSO+lOAOzYVgm5M0kS0lQLAausR7aRKX1MtHWAUgHoyoL2n8ysnI8X6i8msKtyrAv+nlEex0NVZ09Rs1fWtuzuUrc66U7h14GIvE+OdbtLqPA1qibUZ2dJsnBMO5PcHd94kIZysjik0dySTclY6ysSXNQ7roxrsIPlAT/4CTL2kzU0Iq/dNw13CYArzUgA8YyZGUcFAenRv9FO0OYoQzeZpApKCNmacXPSqs0xE2N2oTdvkjgefRI8ZjLny23h/FKJ3crWZgWalmG+oijHHKOnNlA8OqTfSm7mhzvO6/DggTedEzxSjr25HTTGHdUKaj2YKXCMiSrRq4IQSB/c9O+lxbtVGjhjhE63bK2VVOxlIhBJF7jAHscPrFRH</X509Certificate></X509Data></KeyInfo><Object Id="ts-countersig"><X509Data><X509Certificate>MIIHKDCCBRCgAwIBAgITMwAAAfdYIHUEyvvC9AABAAAB9zANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0yNDA3MjUxODMxMDZaFw0yNTEwMjIxODMxMDZaMIHTMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjozNjA1LTA1RTAtRDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANDnR0wTaJuv7lymhCj/azyE5E+kMRddbY8wdDZNW8g6T6xUx4Wt4ccEnU3K/GNGt5OhEJcKsukTs+NntEeXg1vnQqEGqYqQyBVDmKd6DbqsF/8XqQExJGNezMlxceq0FtjXFlCVt0KNgLidBzrW5UqSLUGTxph5xqpLfwweORcMZOlaEr8TXECoShE5Ls67fFOg0XHEJtRXYZjyoA84HHwzzOaPhp824jLustOvQOBB5izJpHnEpFbwZnGfFZ8xR0w5Bi3aZw1eRV41TmwIG0jNHJ6mEhn0ae1RhwUasqLHL0eG3EPglfaQ42yekua2Z9bgPIUYY9PR7N9x0Xr7eKFgFWBiLYBLBvgawmG6YFjAxCFZwID2RIjwGiPMARnphOH3hJLs+0wMIJEQXFMy4EOLrz6kQ9QPiZLduvqQ6lmEp9DAPI9M2nEJPavwL3Ij1w/SLdns/pqhM4BUUbCRi7XH/R5LLyvCbHeiOcxUoZaouW6c39WODTojToeUMFtaSLwOYq5Wpe6hYZAHnnmapqKfPrjcWV8RQkBt0d7OaV1vPRYgofa5l61ajgsIHFxSCUAEJJZSrCPlCahqva5kQASc+ZRykxWJhcHDOdillozcd8+qHcM9ofrMWsXsE6HvRqrQ8d/2lPsqjUXAfMNLUl1H/spTeLpOcRxKS6cfmTTbAgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQU30akMz95vT2Vri39afP5nhX5JpgwHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBADdGo2nyC3i+kkCDCDAFzNUHesWqHItpjq6UfLylssk7C92/NwO1xi4gG0MU66p171VlnjbLeWEA/LGjvlE4DiyXU3X1AA4S16CvkZcI353YpiCU/TB/bVGFy8yVyoWTNPaLj8DbK5/GDiyKXQIuUz8jfApddThmUpT/a/CZ76JltNAKCeD5fa5YNBuZXEJJwF6h2vZ0HVqdWcV6jXftCbCppUfLXADV99wpTPTZ2gpSRMS0B4inh1FFrasizJeuU1usETO15Re2Pj05wvHbjVp+Li54Pjjf2d/RjuqgY+yBGcaKuKN2rxIfW2uN1FOk4M1WWgZvFWgNMEsFHv6aqUzmBVjetly94JfyQtqc3yD8T+ul30SyMWn4wVV5vClQ59nDC/SL0StNrPeNWOfkUeIEgDoS4kEOgNN1TUbqfrKTGtJPl0zwIvtmjB+cWtWY2/yvLvX/TNOVNP21DCVyQz/vsrFqSW1UQ4hxu7M2nGvq9x4lD40CckJdjYjnGExlfw3C6ywgStsxudNxRm9ODeSn9dF4AMBWl5aHeQfXiofeT51ysdizQYC8BvOWp5YYRscQUOZhbCRpAZ9D2T7QM2cn6/eqsc6adqR/QySXIygg6zJmc4l2s6WuVVTd+gjtZA1OAAZEmE1zjPEZiV7kJu5lBd21po/oYwCW+Kc+oU+V</X509Certificate><X509Certificate>MIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8g==</X509Certificate></X509Data><CounterSignature ts-format="cms-timestamp-message" xmlns="http://schemas.microsoft.com/xmldsig/timestamp/2003">MIAGCSqGSIb3DQEHAqCAMIIXhQIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBWgYLKoZIhvcNAQkQAQSgggFJBIIBRTCCAUECAQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQgkx7zN0p2RbvucsaEdB8Z9r3gqV5hCjENOH1ZSwhcJh4CBmftK7HtexgTMjAyNTA0MTUxOTQ0MDQuMzExWjAEgAIB9KCB2aSB1jCB0zELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMScwJQYDVQQLEx5uU2hpZWxkIFRTUyBFU046MzYwNS0wNUUwLUQ5NDcxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WgghH+MIIHKDCCBRCgAwIBAgITMwAAAfdYIHUEyvvC9AABAAAB9zANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0yNDA3MjUxODMxMDZaFw0yNTEwMjIxODMxMDZaMIHTMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjozNjA1LTA1RTAtRDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANDnR0wTaJuv7lymhCj/azyE5E+kMRddbY8wdDZNW8g6T6xUx4Wt4ccEnU3K/GNGt5OhEJcKsukTs+NntEeXg1vnQqEGqYqQyBVDmKd6DbqsF/8XqQExJGNezMlxceq0FtjXFlCVt0KNgLidBzrW5UqSLUGTxph5xqpLfwweORcMZOlaEr8TXECoShE5Ls67fFOg0XHEJtRXYZjyoA84HHwzzOaPhp824jLustOvQOBB5izJpHnEpFbwZnGfFZ8xR0w5Bi3aZw1eRV41TmwIG0jNHJ6mEhn0ae1RhwUasqLHL0eG3EPglfaQ42yekua2Z9bgPIUYY9PR7N9x0Xr7eKFgFWBiLYBLBvgawmG6YFjAxCFZwID2RIjwGiPMARnphOH3hJLs+0wMIJEQXFMy4EOLrz6kQ9QPiZLduvqQ6lmEp9DAPI9M2nEJPavwL3Ij1w/SLdns/pqhM4BUUbCRi7XH/R5LLyvCbHeiOcxUoZaouW6c39WODTojToeUMFtaSLwOYq5Wpe6hYZAHnnmapqKfPrjcWV8RQkBt0d7OaV1vPRYgofa5l61ajgsIHFxSCUAEJJZSrCPlCahqva5kQASc+ZRykxWJhcHDOdillozcd8+qHcM9ofrMWsXsE6HvRqrQ8d/2lPsqjUXAfMNLUl1H/spTeLpOcRxKS6cfmTTbAgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQU30akMz95vT2Vri39afP5nhX5JpgwHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBADdGo2nyC3i+kkCDCDAFzNUHesWqHItpjq6UfLylssk7C92/NwO1xi4gG0MU66p171VlnjbLeWEA/LGjvlE4DiyXU3X1AA4S16CvkZcI353YpiCU/TB/bVGFy8yVyoWTNPaLj8DbK5/GDiyKXQIuUz8jfApddThmUpT/a/CZ76JltNAKCeD5fa5YNBuZXEJJwF6h2vZ0HVqdWcV6jXftCbCppUfLXADV99wpTPTZ2gpSRMS0B4inh1FFrasizJeuU1usETO15Re2Pj05wvHbjVp+Li54Pjjf2d/RjuqgY+yBGcaKuKN2rxIfW2uN1FOk4M1WWgZvFWgNMEsFHv6aqUzmBVjetly94JfyQtqc3yD8T+ul30SyMWn4wVV5vClQ59nDC/SL0StNrPeNWOfkUeIEgDoS4kEOgNN1TUbqfrKTGtJPl0zwIvtmjB+cWtWY2/yvLvX/TNOVNP21DCVyQz/vsrFqSW1UQ4hxu7M2nGvq9x4lD40CckJdjYjnGExlfw3C6ywgStsxudNxRm9ODeSn9dF4AMBWl5aHeQfXiofeT51ysdizQYC8BvOWp5YYRscQUOZhbCRpAZ9D2T7QM2cn6/eqsc6adqR/QySXIygg6zJmc4l2s6WuVVTd+gjtZA1OAAZEmE1zjPEZiV7kJu5lBd21po/oYwCW+Kc+oU+VMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCA1kwggJBAgEBMIIBAaGB2aSB1jCB0zELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMScwJQYDVQQLEx5uU2hpZWxkIFRTUyBFU046MzYwNS0wNUUwLUQ5NDcxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAHBgUrDgMCGgMVAG9vCgxv8V2zQY5jO/56sN24KxDmoIGDMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQELBQACBQDrqMzXMCIYDzIwMjUwNDE1MTIxNzI3WhgPMjAyNTA0MTYxMjE3MjdaMHcwPQYKKwYBBAGEWQoEATEvMC0wCgIFAOuozNcCAQAwCgIBAAICB38CAf8wBwIBAAICEuIwCgIFAOuqHlcCAQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgCAQACAwGGoDANBgkqhkiG9w0BAQsFAAOCAQEAUTfBTO2Fn1uwnLD++tlUenKTBL5W0k8Rc2l3inVBnAzZvVYwm0peISQd2/Ek33Vhrexc8N9FW3vBp4dF+70X5ZM19cijk5OLczkVhldeWxJh+Ch41Vl0HgJCZa4qgFNHVrOGkpVWAipVQ20ohlGAAc+IgjQjJ8CN24FmnFvHmRoMu17ysZxyHNG4nDfZbbM2ZBiz2O7C8r2hN/KTmi0mTsRlz9PN3OsAQN/zYAFj5UhGZyWK67OORSjx1NIJ8w3Y69Jfrr6xezC5xhX+g6mWWCNM8G8yJZygyLsxRrua5oTBy1VvOi9HPJLuGqW/0g+XiDpbIahU0qOI3g6u2Zc/fDGCBA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB91ggdQTK+8L0AAEAAAH3MA0GCWCGSAFlAwQCAQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIPIb05BRFqRCcjICCcoJ1ETHKIR3S8c4VTI9geVCS1zUMIH6BgsqhkiG9w0BCRACLzGB6jCB5zCB5DCBvQQgIdqY2mt3GtHnGLobutLmBz/yCpz23nW1UCeUqCB+WeIwgZgwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAfdYIHUEyvvC9AABAAAB9zAiBCCLTvWHegMMPwZdjGIX4VNn7WyY85d/oWxRYLbVl+CdpDANBgkqhkiG9w0BAQsFAASCAgBE183nAyJtldMWRMLUdgdsfvuHhYjQUPwFktD/JfS3xjuBY0dOdAchNlinoi43HeAJ1eMNHLF2oZX+v1Z4Xa+ZAZjwrvWSdvZivAsVpL1RcW49RHTYy9P/rwZzSiN3iWL93xooRdur9lS39w+jgz8tIc/qJkTULVE8wwcSEIO5Hn6FaCkEyChsVTmZrhtiX4lBxp8vEiPPzDBZ1qVqB26CCP5F0mkZ81pDyT/KlLE9SKkuKjCqzCVn5hrQSKRt2nusbAy041yfdVol68Qu36mJvHbaDUtMU/ctYJF2OfoBJIJIdvBI82T3mFablpaeEwNsld6m1JAn2BWknzhi9YIv93Cio8mcahlJ5mOk3cI/t1FV7sQdsKg5jyTujYmjIg6J+TuuhiOhJ8Y3P/S5MCilWHChIb7x9nnVmBOr+WSgqGNLELCcKgNiQ4odM1lOGRBU9xnWpxd44HdcS7/qtSW+rFcWtD/TVQyG2elIjGsvc9MnIZPfxpm30ppjJeoeFpqQvl9ApCIRTmAmGN1iqXUQfL6eeuUuJngSTeLq05P1FkzGZkZXDukQW4s7CXkZZQkF10jTmcwrJj6HK5AjCGNsSaZ/ud3O5NPQ+NCuOwETeYDrMLrMbm3wdoZJpGzBTX8KKfh97btznjsG8H3WgpuiIyKI63yRSYDjrJgpoVgQCgAAAAA=</CounterSignature></Object></Signature></doc>
