public override int GetHashCode() { unchecked { return (base.GetHashCode()*397) ^ (Children != null ? Children.GetHashCode() : 0); } }