I think this should get the projection as 3rd argument. The method would then check whether the requested projection is the same as the one that was used for previous requests. If it is, we can just move on. Otherwise, at least for now, the cache could be deleted.

Adding this would allow us to get rid of the projection configuration setting on the source.

If this feels like more than a trivial change, we can also handle it in a separate pull request.