public override long Seek(long offset, SeekOrigin origin)
        {
            if (origin != SeekOrigin.Current)
            {
                throw new NotSupportedException("Only from current is supported");
            }

            var offsetAsInt = (int)offset;

            _ringBuffer.Skip(offsetAsInt);             // this may block waiting for buffer available.
            return(offset);
        }
        public override long Seek(long offset, SeekOrigin origin)
        {
            if (origin != SeekOrigin.Current)
            {
                throw new NotSupportedException("Only from current is supported");
            }

            // checked
            {
                var offsetAsInt = (int)offset;
                _ringBuffer.Skip(offsetAsInt);
                return(offset);
            }
        }