queue.put(1L, System.currentTimeMillis() + Integer.MAX_VALUE); // never come out
Long value = consumer.take(1, TimeUnit.SECONDS);
Assert.assertNull(value);
queue.put(2L, System.currentTimeMillis());
value = consumer.take(timing.seconds(), TimeUnit.SECONDS);
Assert.assertEquals(value, Long.valueOf(2));
value = consumer.take(1, TimeUnit.SECONDS);
Assert.assertNull(value);
}