src/main/java/org/jboss/util/collection/ConcurrentSkipListMap.java
void helpDelete(Node<K,V> b, Node<K,V> f) {
            /*
             * Rechecking links and then doing only one of the
             * help-out stages per call tends to minimize CAS
             * interference among helping threads.
             */
            if (f == next && this == b.next) {
                if (f == null || f.value != f) // not already marked
                    appendMarker(f);
                else
                    b.casNext(this, f.next);
            }
        }
void helpDelete(Node<K,V> b, Node<K,V> f) {
            /*
             * Rechecking links and then doing only one of the
             * help-out stages per call tends to minimize CAS
             * interference among helping threads.
             */
            if (f == next && this == b.next) {
                if (f == null || f.value != f) // not already marked
                    appendMarker(f);
                else
                    b.casNext(this, f.next);
            }
        }
void helpDelete ( Node < K , V > b , Node < K , V > f ) { /*
             * Rechecking links and then doing only one of the
             * help-out stages per call tends to minimize CAS
             * interference among helping threads.
             */ if ( f == next && this == b . next ) { if ( f == null || f . value != f ) // not already marked appendMarker ( f ) ; else b . casNext ( this , f . next ) ; } }
Helps out a deletion by appending marker or unlinking from
predecessor. This is called during traversals when value
field seen to be null.
@param b predecessor
@param f successor
Helps out a deletion by appending marker or unlinking from predecessor . This is called during traversals when value field seen to be null .