/// <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>
 public static async Task UpdateSchemaReferencesAsync(object rootObject, JsonReferenceResolver referenceResolver, IContractResolver contractResolver)
 {
     var updater = new JsonReferenceUpdater(rootObject, referenceResolver, contractResolver);
     await updater.VisitAsync(rootObject).ConfigureAwait(false);
 }
 public JsonReferenceUpdater(object rootObject, JsonReferenceResolver referenceResolver, IContractResolver contractResolver)
     : base(contractResolver)
 {
     _rootObject        = rootObject;
     _referenceResolver = referenceResolver;
 }
 /// <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 Task UpdateSchemaReferencesAsync(object rootObject, JsonReferenceResolver referenceResolver) =>
 UpdateSchemaReferencesAsync(rootObject, referenceResolver, new DefaultContractResolver());