public async Task StartAsync(CancellationToken cancellationToken)
    {
        await StartAsyncInternal(cancellationToken);

        if (_next != null)
        {
            await _next.StartAsync(cancellationToken);
        }
    }
 public async Task StartAsync(CancellationToken cancellationToken)
 {
     // base StartAsync logic ...
     await _decorator.StartAsync(cancellationToken);
 }