Allow using rewind in providers

Using rewind can also be useful in providers, if for example a provider can be called multiple times and update the same file