public override int GetHashCode() { unchecked { var hashCode = (int) Kind; hashCode = (hashCode * 397) ^ Name.GetHashCode(); hashCode = (hashCode * 397) ^ (Parent?.GetHashCode() ?? 0); return hashCode; } } }