/// <inheritdoc />
        public Task StopAsync()
        {
            GuardMustNotBeDisposed();
            GuardMustBeInitialized();

            GuardMustBeStarted();

            cancellationSource.RequestImmediateCancellation();

            return(Task.WhenAll(task));
        }