internal static long Parse(ReadOnlySequence <byte> buffer)
        {
            if (buffer.IsEmpty)
            {
                return(0);
            }

            if (buffer.Length >= 2 && buffer.ItemAt(0) == ByteConstants.Dash && buffer.ItemAt(1) == ByteConstants.One)
            {
                return(-1);
            }

            if (!char.IsDigit((char)buffer.ItemAt(0)) && buffer.ItemAt(0) != ByteConstants.Dash)
            {
                return(Parse(buffer.Slice(buffer.GetPosition(1, buffer.Start))));
            }

            if (buffer.GetEndOfLinePosition() != null)
            {
                return(Parse(buffer.Slice(buffer.Start, buffer.Length - 2)));
            }

            return(ParseSequence(buffer));
        }