public IEnumerator <T> GetEnumerator() { if (root == null) { yield break; } foreach (var item in root.TraverseInOrder()) { yield return(item); } }