The procedure specified by the system setting "ImpersonationProcedure" is used when it is desired for other users than administrators to be able to impersonate users.
This feature was designed to be used by super users when testing user role related issues in stage instances. It was not designed to be a reliable way of handling end users with multiple roles. This can lead to unexpected behavior as user impersonation is shared between all browser windows in a session without visual cues for the user.