public IComparable GetMaxKey()
{
OrderedTreeNode treeNode = rbTree;
if(treeNode == null || treeNode == sentinelNode)
throw(new InvalidOperationException("Tree is empty"));
// traverse to the extreme right to find the largest key
while(treeNode.Right != sentinelNode)
treeNode = treeNode.Right;
lastNodeFound = treeNode;
return treeNode.Key;
}