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();
            }
        }