BoundedBlockingQueue.add needs to use the lock, and tryLock specificlly