Currently PageProvider#getPageInstance() "touches" the page for each call, i.e. schedules it to be persisted at the end of the request life. This always goes to PageAccessSynchronizer#touchPage() and respectively #lockPage().
With the suggested patch this will be done at most once per PageProvider#getPage().
This change causes some tests related to error pages to fail. The problem is that ALWAYS_REDIRECT is used for error pages thus REDIRECT_TO_RENDER strategy which expects the page to be stored before the redirect. Changing it to AUTO_REDIRECT leads to the default REDIRECT_TO_BUFFER to be used and the problem is solved because the response is buffered in the special map and the page is not needed after the redirect.