/// <summary>
        /// Close the target.
        /// </summary>
        private void CloseTarget()
        {
            Debug.Assert(_target != null);

            _target.Dispose();

            _target = null;
        }
        /// <summary>
        /// Get target enumerator.
        /// </summary>
        /// <returns>Target enumerator.</returns>
        private void CreateTarget()
        {
            Debug.Assert(_target == null, "Previous target is not cleaned.");

            _target = _cache.CreateEnumerator(_loc, _peekModes);
        }