Actually as mentioned in the earlier comment, i have a generator that is being filled up and then consumed. The issue is run() assumes there is a pattern and if for some reasons (in my case the stack of patterns is already consumed), then what do you do? My pattern generator cannot block run, and the choice is whether to return zeros (and hence the impact a zero activity may have) or nor to update the activity of the generator, meaning keeping the last activity in (that's what the change actually does).