protected static FrequencySet<string> CombineMax(FrequencySet<string> a, FrequencySet<string> b)
{
FrequencySet<string> result = CombineAndClip(a, b, 1);
foreach (KeyValuePair<string, StrongBox<int>> entry in a)
{
result[entry.Key].Value = entry.Value.Value;
}
foreach (KeyValuePair<string, StrongBox<int>> entry in b)
{
StrongBox<int> slot = result[entry.Key];
slot.Value = Math.Max(slot.Value, entry.Value.Value);
}
return result;
}