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