iOS - Handle concurrency to "renew"

We’ve implemented the OktaOidc pod into our iOS app per the example projects. We are facing an issue when our accessToken has expired, though. When we detect that the accessToken has expired, we call OktaOidcStateManager.renew to get a refresh accessToken. That is working as expected.

The problem arises when we have multiple/concurrent attempts to get the accessToken (which has expired). Each of those attempts calls OktaOidcStateManager.renew and we end up running into concurrency issues.

Do you have a recommendation on how to handle/avoid this situation?