public void OnCompleted(Action continuation) { if (_continuation == s_completedSentinel || Interlocked.CompareExchange(ref _continuation, continuation, null) == s_completedSentinel) { Task.Run(continuation); } }