private void reTry(RetryDelegate retryAction) { if (this.sleeping) { this.sleeping = false; retryAction.DynamicInvoke(new object[0]); } else { this.sleeping = true; SA_StorageWorker bw_NewWorker = new SA_StorageWorker(this); bw_NewWorker.DoWork += new DoWorkEventHandler(this.bw_Sleep_DoWork); this.SetCurrentWorker(bw_NewWorker); } }