NodeImpl prepend()

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


    NodeImpl<E> prepend(E element) {
        for (;;) {
            NodeImpl<E> b = predecessor();
            if (b == null)
                return null;
            NodeImpl<E> x = new NodeImpl<E>(element, this, b);
            if (b.casNext(this, x)) {
                setPrev(x); // optimistically link
                return x;
            }
        }
    }