public override int GetHashCode() { unchecked { var hashCode = (int)Position; hashCode = (hashCode * 397) ^ (Tree != null ? Tree.GetHashCode() : 0); hashCode = (hashCode * 397) ^ RepeatDistance.GetHashCode(); return(hashCode); } }