protected override void Dispose(bool disposing)
        {
            if (disposing && !IsClosed)
            {
                //Ensure that a context is not active, otherwise the runtime will throw a "Runtime In Use" exception.
                LibChakraCore.JsSetCurrentContext(JavaScriptContextSafeHandle.Invalid);
                LibChakraCore.JsDisposeRuntime(handle);
            }

            //Do not call the base implementation as we have no references to free.
            //base.Dispose(disposing);
        }