public void RemoveKey(string key)
{
xBucket bucket;
string prefix;
bool found = FindBucketForPrefix(key, out bucket, out prefix, false);
if (!found)
{
throw new BplusTreeKeyMissing("no such key to delete");
}
bucket.Remove(key);
if (bucket.Count()<1)
{
this.tree.RemoveKey(prefix);
}
else
{
this.tree[prefix] = bucket.dump();
}
}