private string GetRandomStringFromDistribution(Dictionary<string, double> distribution)
{
var rng = new Random();
var rand = rng.NextDouble();
int i = 0;
double sum = distribution.ElementAt(i).Value;
while (sum < rand)
{
i++;
sum += distribution.ElementAt(i).Value;
}
var kvp = distribution.ElementAt(i);
return kvp.Key;
}