/// <summary>
        /// Сбросить текущее состояние
        /// </summary>
        public void Reset()
        {
            if (_line != null)
            {
                _line.Dispose();
            }

            _line = null;
            _info = null;
        }
        /// <summary>
        /// Подготовить следущее задание
        /// </summary>
        /// <returns>Результат подготовки</returns>
        private bool PrepareNextRect()
        {
            if (_rects.Count == 0)
            {
                return(false);
            }

            _info = _rects.Dequeue();

            _line = new LinePositionIterator(_info);

            return(true);
        }