static ReadOnlySequenceStreamTests()
    {
        var seg3 = new SeqSegment(new byte[] { 7, 8, 9 }, null);
        var seg2 = new SeqSegment(new byte[] { 4, 5, 6 }, seg3);
        var seg1 = new SeqSegment(new byte[] { 1, 2, 3 }, seg2);

        MultiBlockSequence = new ReadOnlySequence <byte>(seg1, 0, seg3, seg3.Memory.Length);
    }
        public SeqSegment(byte[] buffer, SeqSegment next)
        {
            this.Memory = buffer;
            this.Next   = next;

            SeqSegment current = this;

            while (next != null)
            {
                next.RunningIndex = current.RunningIndex + current.Memory.Length;
                current           = next;
                next = (SeqSegment)next.Next;
            }
        }