public override int GetHashCode() { int hash = 0x79B70F13; if (_root != null) { if (_hashCodeCache.ContainsKey(_root)) { hash = _hashCodeCache[_root]; } else { hash = Hashing.CombineHash(hash, _root.GetHashCode()); } } return(hash); }