/// <summary>
        /// Moves position by the specified bytes.
        /// </summary>
        /// <param name="bytes">Number of bytes to move the stream.</param>
        public void Move(uint bytes)
        {
            while (bytes > blockRemaining)
            {
                bytes -= blockRemaining;
                Move(blockRemaining);
            }

            position       += bytes;
            blockRemaining -= bytes;
            BaseReader.Move(bytes);
            CheckMoveReader();
        }