private IEnumerable<KeyValuePair<string, Routee>> ExtractGroups(string prefix, string lastKey)
{
foreach (var bucket in _registry.Values)
{
//TODO: optimize into tree-aware key range [prefix, lastKey]
foreach (var keyVal in bucket.Content.Where(kv => kv.Key.CompareTo(prefix) != -1 && kv.Key.CompareTo(lastKey) != 1))
{
yield return new KeyValuePair<string, Routee>(keyVal.Key, keyVal.Value.Routee);
}
}
}