public CountIt(IDocumentReader documentReader, IDocumentDictionary documentDictionary,
                IView userView, IWordEncoder wordEncoder, IWordFilter[] filters, IWordFormatter[] formatters)
 {
     _documentReader     = documentReader;
     _documentDictionary = documentDictionary;
     _userView           = userView;
     _wordEncoder        = wordEncoder;
     _filters            = filters;
     _formatters         = formatters;
 }
        /// <inheritdoc />
        public JsonDocumentMergerPipelineStep(
            IJobConfig jobConfig,
            ILogger logger,
            IQueueManager queueManager,
            IProgressMonitor progressMonitor,
            IDocumentDictionary documentDictionary,
            IEntityJsonWriter entityJsonWriter,
            IDetailedTemporaryFileWriter fileWriter,
            CancellationToken cancellationToken)
            : base(jobConfig, logger, queueManager, progressMonitor, cancellationToken)
        {
            this.documentDictionary = documentDictionary ?? throw new ArgumentNullException(nameof(documentDictionary));
            this.entityJsonWriter   = entityJsonWriter ?? throw new ArgumentNullException(nameof(entityJsonWriter));
            this.fileWriter         = fileWriter ?? throw new ArgumentNullException(nameof(fileWriter));
            var configLocalSaveFolder = this.Config.LocalSaveFolder;

            if (configLocalSaveFolder == null)
            {
                throw new ArgumentNullException(nameof(this.Config.LocalSaveFolder));
            }

            this.folder = Path.Combine(configLocalSaveFolder, $"{this.UniqueId}-JsonDocumentMerge");
        }