public void Dispose() { if (_isDisposed) { return; } _isDisposed = true; if (_cx != IntPtr.Zero) { SpiderMonkey.JS_RequestLeaveCompartment(_cx, _oldCompartment); } _obj.Dispose(); GC.SuppressFinalize(this); }