public void Cancel() { if (!_isRunning) { return; } try { IChoAbortableAsyncResult r1 = _result; if (r1 == null) { return; } if (_topPlugIn != null) { _topPlugIn.Stop(); } Thread.Sleep(_plugInManagerSettings.StopRequestTimeout); r1.Abort(); } finally { _result = null; } }