public SequenceReader(ReadOnlySequence <T> sequence) { CurrentSpanIndex = 0; Consumed = 0; Sequence = sequence; _currentPosition = sequence.Start; _length = -1; var first = sequence.First.Span; sequence.GetFirstSpan(out ReadOnlySpan <T> first, out _nextPosition); CurrentSpan = first; _moreData = first.Length > 0; if (!_moreData && !sequence.IsSingleSegment) { _moreData = true; GetNextSpan(); } }