public IExternalEdgeRouting <TVertex, TEdge> GenerateEdgeRoutingAlgorithm(Size DesiredSize)
 {
     if (ExternalEdgeRoutingAlgorithm == null && DefaultEdgeRoutingAlgorithm != EdgeRoutingAlgorithmTypeEnum.None)
     {
         return(AlgorithmFactory.CreateEdgeRoutingAlgorithm(DefaultEdgeRoutingAlgorithm, new Rect(DesiredSize), Graph, null, null, DefaultEdgeRoutingAlgorithmParams));
     }
     else if (ExternalEdgeRoutingAlgorithm != null)
     {
         return(ExternalEdgeRoutingAlgorithm);
     }
     else
     {
         return(null);
     }
 }