private async Task <char?> ReadCharAsync()
        {
            var buffer    = _readBuffer;
            var readCount = await BaseReader.ReadAsync(buffer, 0, 1).ConfigureAwait(false);

            if (readCount <= 0)
            {
                return(null);
            }

            return(buffer[0]);
        }