/// <summary>Updates all <see cref="IJsonReferenceBase.Reference"/> properties from the
 /// available <see cref="IJsonReferenceBase.Reference"/> properties.</summary>
 /// <param name="referenceResolver">The JSON document resolver.</param>
 /// <param name="rootObject">The root object.</param>
 /// <param name="contractResolver">The contract resolver.</param>
 /// <param name="cancellationToken">The cancellation token</param>
 public static async Task UpdateSchemaReferencesAsync(object rootObject, JsonReferenceResolver referenceResolver,
                                                      IContractResolver contractResolver, CancellationToken cancellationToken = default)
 {
     var updater = new JsonReferenceUpdater(rootObject, referenceResolver, contractResolver);
     await updater.VisitAsync(rootObject, cancellationToken).ConfigureAwait(false);
 }
 /// <summary>Updates all <see cref="IJsonReferenceBase.Reference"/> properties from the
 /// available <see cref="IJsonReferenceBase.Reference"/> properties.</summary>
 /// <param name="referenceResolver">The JSON document resolver.</param>
 /// <param name="rootObject">The root object.</param>
 public static async Task UpdateSchemaReferencesAsync(object rootObject, JsonReferenceResolver referenceResolver)
 {
     var updater = new JsonReferenceUpdater(rootObject, referenceResolver);
     await updater.VisitAsync(rootObject).ConfigureAwait(false);
 }