in component-dsl/src/main/java/org/apache/aries/component/dsl/internal/ConcurrentDoublyLinkedList.java [843:859]
NodeImpl<E> predecessor() {
NodeImpl<E> n = this;
for (;;) {
NodeImpl<E> b = n.getPrev();
if (b == null)
return n.findPredecessorOf(this);
NodeImpl<E> s = b.getNext();
if (s == this)
return b;
if (s == null || !s.isMarker()) {
NodeImpl<E> p = b.findPredecessorOf(this);
if (p != null)
return p;
}
n = b;
}
}