/// <inheritdoc/>
        public Task UpdateDocumentAsync(LoanDocument document, bool populate, CancellationToken cancellationToken = default)
        {
            Preconditions.NotNull(document, nameof(document));
            Preconditions.NotNullOrEmpty(document.DocumentId, $"{nameof(document)}.{nameof(document.DocumentId)}");

            return(PatchPopulateDirtyAsync(document.DocumentId, JsonStreamContent.Create(document), nameof(UpdateDocumentAsync), document.DocumentId, document, populate, cancellationToken));
        }
        /// <inheritdoc/>
        public Task <string> CreateDocumentAsync(LoanDocument document, bool populate, CancellationToken cancellationToken = default)
        {
            Preconditions.NotNull(document, nameof(document));
            Preconditions.NullOrEmpty(document.DocumentId, $"{nameof(document)}.{nameof(document.DocumentId)}");

            return(PostPopulateDirtyAsync(null, nameof(CreateDocumentAsync), document, populate, cancellationToken));
        }
 /// <inheritdoc/>
 public Task UpdateDocumentAsync(LoanDocument document, CancellationToken cancellationToken = default) => UpdateDocumentAsync(document, false, cancellationToken);
 /// <inheritdoc/>
 public Task <string> CreateDocumentAsync(LoanDocument document, CancellationToken cancellationToken = default) => CreateDocumentAsync(document, false, cancellationToken);