Was your intention for this to block if `queue` is an `ArrayBlockingQueue` with a fixed size? What actually will happen is that a `java.lang.IllegalStateException: Queue full` exception will be thrown instead of it actually blocking (you would need to call `put` instead for the blocking behavior).