protected virtual void Cleanup() { }
private static void WorkerThreadComplete(object state) { Debug.Assert(state is LazyAsyncResult); LazyAsyncResult thisPtr = (LazyAsyncResult)state; try { thisPtr._asyncCallback !(thisPtr); } finally { thisPtr.Cleanup(); } }