public SugiyamaLayoutAlgorithm(
     TGraph visitedGraph,
     IDictionary <TVertex, Size> vertexSizes,
     SugiyamaLayoutParameters parameters,
     Func <TEdge, EdgeTypes> edgePredicate)
     : this(visitedGraph, vertexSizes, null, parameters, edgePredicate)
 {
 }
        public SugiyamaLayoutAlgorithm(
            TGraph visitedGraph,
            IDictionary <TVertex, Size> vertexSizes,
            IDictionary <TVertex, Point> vertexPositions,
            SugiyamaLayoutParameters parameters,
            Func <TEdge, EdgeTypes> edgePredicate)
            : base(visitedGraph, vertexPositions, parameters)
        {
            _edgePredicate = edgePredicate;
            EdgeRoutes     = new Dictionary <TEdge, Point[]>();

            ConvertGraph(vertexSizes);
        }