What is opportunistic locking?