A reentrancy vulnerability in an NFT marketplace contract most commonly arises when which pattern is violated?