public IAsyncResult BeginAbandon(TimeSpan timeout, AsyncCallback callback, object state)
        {
            TimeoutHelper.ThrowIfNegativeArgument(timeout);

            this.MarkAsAbandoned();
            return(WorkflowApplication.BeginDiscardInstance(this.PersistenceManager, timeout, callback, state));
        }