public async Task StopRecording()
        {
            var command = new TransactionsRecordingCommand(
                Database.TxMerger,
                TransactionsRecordingCommand.Instruction.Stop
                );

            await Database.TxMerger.Enqueue(command);

            NoContentStatus();
        }
        public async Task StartRecording()
        {
            using (ContextPool.AllocateOperationContext(out DocumentsOperationContext context))
            {
                var json = await context.ReadForMemoryAsync(RequestBodyStream(), null);

                var parameters = JsonDeserializationServer.StartTransactionsRecordingOperationParameters(json);
                if (parameters.File == null)
                {
                    ThrowRequiredPropertyNameInRequest(nameof(parameters.File));
                }

                var command = new TransactionsRecordingCommand(
                    Database.TxMerger,
                    TransactionsRecordingCommand.Instruction.Start,
                    parameters.File
                    );

                await Database.TxMerger.Enqueue(command);

                NoContentStatus();
            }
        }