public Result <Bitmap> DrawTagCloud(List <Word> allWords) { var image = allWords.AsResult() .Then(words => words.Select(word => new WordLayoutComponent(word)).ToList()) .Then(components => colorSelector.SetColorsFor(components)) .Then(SetLayoutRectangles) .Then(components => vizualizer.DrawTagCloud(components)); layouter.Clear(); return(image); }