internal static LayeredLayoutEngine CalculateLayout(GeometryGraph msaglGraph, SugiyamaLayoutSettings settings, CancelToken cancelToken) {
            var engine = new LayeredLayoutEngine(msaglGraph, settings);
#if USE_PHYLOTREE
           PhyloTree phyloTree = msaglGraph as PhyloTree;
            if (phyloTree != null) {
                var pc=new PhyloTreeLayoutCalclulation(phyloTree, settings, engine.IntGraph, engine.Database);
                pc.Run();
            } else
#endif
                engine.Run(cancelToken);
            return engine;
        }