public BlockRangeLogsProcessor(
     IEthGetLogs eventLogProxy,
     IEnumerable <ILogProcessor> logProcessors,
     NewFilterInput filter,
     ILog log = null) : this(eventLogProxy, logProcessors, filter == null ? null : new NewFilterInput[] { filter }, log)
 {
 }
        public BlockRangeLogsProcessor(
            IEthGetLogs eventLogProxy,
            IEnumerable <ILogProcessor> logProcessors,
            IEnumerable <NewFilterInput> filters = null,
            ILog log = null)
        {
            _eventLogProxy = eventLogProxy ?? throw new ArgumentNullException(nameof(eventLogProxy));
            _logProcessors = logProcessors ?? throw new ArgumentNullException(nameof(logProcessors));

            _filters = filters?.ToList() ?? new List <NewFilterInput>();

            if (_filters.Count == 0)
            {
                _filters.Add(new NewFilterInput());
            }

            _logger = new BlockRangeLogsProcessorInstrumentation(log);
        }