We certainly need to look at this code in the future. Doing a sleeping call (future.get) while holding a lock is asking for problems.