public void Dispose() { _client?.Dispose(); _cancellationTokenSource?.Dispose(); if (_shardReaders != null) { foreach (IShardReader kinesisShardReader in _shardReaders) { kinesisShardReader.Dispose(); } _shardReaders.Clear(); } }