Oh sorry, I miss-read your code. Why it is required that only the first call is locking? This means if we have three concurenting DAOs only one of them is blocked.