public bool HasNext() { var hasNext = _lineReaderInternal != null && _lineReaderInternal.HasNext(); if (!hasNext) { hasNext = !_reader.IsReadToEnd(); if (hasNext) { LoadNextDataBlock(); return(_lineReaderInternal.HasNext()); } } return(hasNext); }