public bool Read()
        {
            if (_memoryResultSetRows.MoveNext())
            {
                _currentSetResultRow = _memoryResultSetRows.Current;
                return(true);
            }

            return(false);
        }
        protected MemoryMergedDataReader(T rule, SchemaMetaData schemaMetaData,
                                         ISqlCommandContext <ISqlCommand> sqlCommandContext, List <IStreamDataReader> streamDataReaders)
        {
            // ReSharper disable once VirtualMemberCallInConstructor
            var memoryQueryResultRowList = Init(rule, schemaMetaData, sqlCommandContext, streamDataReaders);

            _memoryResultSetRows = memoryQueryResultRowList.GetEnumerator();
            if (memoryQueryResultRowList.Any())
            {
                _currentSetResultRow = memoryQueryResultRowList.First();
            }
        }