public Task <AsyncSearchSubmitResponse <TDocument> > SubmitAsync <TDocument>(Action <AsyncSearchSubmitRequestDescriptor <TDocument> > configureRequest = null, CancellationToken cancellationToken = default)
        {
            var descriptor = new AsyncSearchSubmitRequestDescriptor <TDocument>();

            configureRequest?.Invoke(descriptor);
            descriptor.BeforeRequest();
            return(DoRequestAsync <AsyncSearchSubmitRequestDescriptor <TDocument>, AsyncSearchSubmitResponse <TDocument> >(descriptor));
        }
        public AsyncSearchSubmitResponse <TDocument> Submit <TDocument>(Action <AsyncSearchSubmitRequestDescriptor <TDocument> > configureRequest = null)
        {
            var descriptor = new AsyncSearchSubmitRequestDescriptor <TDocument>();

            configureRequest?.Invoke(descriptor);
            descriptor.BeforeRequest();
            return(DoRequest <AsyncSearchSubmitRequestDescriptor <TDocument>, AsyncSearchSubmitResponse <TDocument> >(descriptor));
        }