/// <summary>
        /// Creates a list of page graphs.
        /// </summary>
        /// <remarks>
        /// For each page of the multi-page layout, a graph is created that contains
        /// the page's nodes.
        /// A mapper is added to the returned graphs with the key <see cref="MapperKeyNodeData"/>
        /// to store the multi-page metadata for each node. The data stored can be used to retrieve
        /// the referenced node and the page number.
        /// </remarks>
        /// <returns>The array of created graphs.</returns>
        public IGraph[] CreateViewGraphs()
        {
            var mapper = new WeakDictionaryMapper <INode, NodeData>();

            viewToLayoutNode.Clear();
            IGraph[] viewGraphs = new IGraph[result.PageCount()];

            for (int i = 0; i < viewGraphs.Length; i++)
            {
                viewGraphs[i] = CreatePageView(i, mapper);
            }

            foreach (var graph in viewGraphs)
            {
                foreach (INode node in graph.Nodes)
                {
                    SetReferencingNodeId(graph, node);
                }
            }

            return(viewGraphs);
        }
 public PortConstraintBendHandle(bool sourceEnd, IBend bend, IHandle originalImplementation, WeakDictionaryMapper <IEdge, PortConstraint> portConstraints) : base(originalImplementation)
 {
     this.sourceEnd       = sourceEnd;
     this.bend            = bend;
     this.portConstraints = portConstraints;
 }