public override int CalculateVersion() { return(new { Name, Description, Endpoint, Schema, SchemaExtensions = SchemaExtensions == null ? 0 : SchemaExtensions.Aggregate( 0, (hashSeed, se) => { if (se == null) { return 0; } return hashSeed * 31 + new { se.Schema, se.Required }.GetHashCode(); }) }.GetHashCode()); }