NodeImpl append()

in component-dsl/src/main/java/org/apache/aries/component/dsl/internal/ConcurrentDoublyLinkedList.java [893:904]


    NodeImpl<E> append(E element) {
        for (;;) {
            NodeImpl<E> f = getNext();
            if (f == null || f.isMarker())
                return null;
            NodeImpl<E> x = new NodeImpl<E>(element, f, this);
            if (casNext(f, x)) {
                f.setPrev(x); // optimistically link
                return x;
            }
        }
    }