private WaitHandle GetWaitHandle() { lock (this) { if (null == _workItemCompleted) { _workItemCompleted = EventWaitHandleFactory.CreateManualResetEvent(IsCompleted); } ++_workItemCompletedRefCount; } return _workItemCompleted; }