A C# implementation of the AVL tree