>>38988324posting supporting info will likely fly over your head... but whatever:
https://i.imgur.com/qul2sDV.pngWhen bulk modifying/accessing values is needed, you request the Fast Mode to be started. You get back a lock (of sorts) indicating if the fast mode switch wasn't already set. This is 'v2'.
You then use/modify properties in the pkm data, and now you're done. So you end Fast Mode, and pass in your boolean (v2) which will re-encrypt it if you were the one who decrypted it.
If the fast mode was set prior to you executing the current chunk of code, you won't re-encrypt it since your fast mode request said it was already decrypted. This might happen if your chunk of code is a subroutine called from another method.
They don't multithread operations on pkm data, so there's no real race condition to worry about.