public IExternalLayout <TVertex> GenerateLayoutAlgorithm(Dictionary <TVertex, Size> vertexSizes) { if (ExternalLayoutAlgorithm != null) { var alg = ExternalLayoutAlgorithm; if (alg.NeedVertexSizes) { alg.VertexSizes = vertexSizes; } return(alg); } else { return(AlgorithmFactory.CreateLayoutAlgorithm(DefaultLayoutAlgorithm, Graph, null, vertexSizes, DefaultLayoutAlgorithmParams)); } }