private void Colorize() { var range = _range; var data = _data; if (data != null) { TokenList tokensToColor; lock (this) { tokensToColor = ExtractTokensInRange(data.NotColoredTokens, range.Min, range.Max); } if (ColorizeTokens != null && tokensToColor != null && tokensToColor.Count > 0) { data.ColoredTokens.AddRange(tokensToColor); ColorizeEventArgs args = new ColorizeEventArgs(tokensToColor); ColorizeTokens(this, args); } }//if data != null ... _wantsColorize = false; _colorizing = 0; }