Implementing a WAVL Tree