private static void UnloadTree(IOrderedMap <int, int> tree, int?count, int[] keys) { int i = 0; while ((count.HasValue && (i < count.Value)) || (!count.HasValue && (tree.Count != 0))) { int key = keys[i]; tree.NearestGreaterOrEqual(key, out key); tree.Remove(key); i++; } }