public override void Explore(string text) { Frequency.Clear(); if (text.Length == 0) { return; } Parallel.For(0, text.Length - 1, (i, loopStale) => { var key = text.Substring(i, 2); lock (Frequency) { if (!Frequency.ContainsKey(key)) { Frequency.Add(key, 0); } } Frequency[key]++; }); }