public override object first() { if (_state._val == _state) lock (_state) { if (_state._val == _state) _state._val = _enumerator.Current; } return _state._val; }