public override JsonSchema AsJsonSchema() { if (TopPart != null) { JsonSchema returnSchema = TopPart.AsJsonSchema(); returnSchema.Id(Name); returnSchema.Schema("http://json-schema.org/draft-07/schema#"); foreach (var pair in Definitions) { returnSchema.Definition(pair.Key, pair.Value.AsJsonSchema()); } return(returnSchema); } else { JsonSchema returnSchema = JsonSchema.Empty; returnSchema.Id(Name); returnSchema.Schema("http://json-schema.org/draft-07/schema#"); returnSchema.Title(Name); returnSchema.Description(Description); return(returnSchema); } }