in src/main/java/org/apache/commons/pool3/impl/LinkedBlockingDeque.java [1449:1468]
private E unlinkFirst() {
// assert lock.isHeldByCurrentThread();
final Node<E> f = first;
if (f == null) {
return null;
}
final Node<E> n = f.next;
final E item = f.item;
f.item = null;
f.next = f; // help GC
first = n;
if (n == null) {
last = null;
} else {
n.prev = null;
}
--count;
notFull.signal();
return item;
}