public void Lock() { if (_locked != null) { return; } _threadId.CheckIsCurrent(); _locked = this.Enumerate().ToArray(); }