public IExternalOverlapRemoval <TVertex> GenerateOverlapRemovalAlgorithm(Dictionary <TVertex, Rect> rectangles = null) { if (ExternalOverlapRemovalAlgorithm == null) { //create default OR return(AlgorithmFactory.CreateOverlapRemovalAlgorithm(DefaultOverlapRemovalAlgorithm, null, DefaultOverlapRemovalAlgorithmParams)); } else { var overlap = ExternalOverlapRemovalAlgorithm; overlap.Rectangles = rectangles; return(overlap); } }