/// <summary>
        /// Executes a deferred command list.
        /// </summary>
        /// <param name="commandList">The deferred command list.</param>
        public void ExecuteCommandList(ICommandList commandList)
        {
            if (commandList == null)
            {
                throw new ArgumentNullException("commandList");
            }

            NativeDeviceContext.ExecuteCommandList(((CommandList)commandList).NativeCommandList, false);
            commandList.Release();
        }
        /// <summary>
        /// Executes a deferred command list.
        /// </summary>
        /// <param name="commandList">The deferred command list.</param>
        public void ExecuteCommandList(ICommandList commandList)
        {
            if (commandList == null) throw new ArgumentNullException("commandList");

            NativeDeviceContext.ExecuteCommandList(((CommandList)commandList).NativeCommandList, false);
            commandList.Release();
        }