public override int GetHashCode() { var h1 = Segment?.GetHashCode() ?? 0; var h2 = Index.GetHashCode(); var shift5 = ((uint)h1 << 5) | ((uint)h1 >> 27); return(((int)shift5 + h1) ^ h2); }