public bool MoveNext()
        {
            if (_version != _stack._version)
            {
                throw new InvalidOperationException("Version Conflict");
            }
            if (_index == -2)
            {
                _index = 0;
                var flag = _index >= 0;
                if (flag)
                {
                    _currentElement = _stack[_index];
                }
                return(flag);
            }
            if (_index == -1)
            {
                return(false);
            }
            var num = _index + 1;

            _index = num;
            var flag1 = num < _stack.Count();

            _currentElement = !flag1 ? default(T) : _stack[_index];
            return(flag1);
        }