Isn't it a problem that you would end up double-locking the repository? Specifically that you wouldn't necessarily call 'unlock' to match every 'lock_read' call? (because if _real_branch *is* invoked, then it also starts calling lock/unlock based on its algorithm.)
Isn't it a problem that you would end up double-locking the repository? Specifically that you wouldn't necessarily call 'unlock' to match every 'lock_read' call? (because if _real_branch *is* invoked, then it also starts calling lock/unlock based on its algorithm.)