boolean delete() {
            Node<E> b = getPrev();
            Node<E> f = getNext();
            if (b != null && f != null && !f.isMarker() &&
                casNext(f, new Node<E>(f))) {
                if (b.casNext(this, f))
                    f.setPrev(b);
                return true;
            }
            return false;
        }
boolean delete() {
            Node<E> b = getPrev();
            Node<E> f = getNext();
            if (b != null && f != null && !f.isMarker() &&
                casNext(f, new Node<E>(f))) {
                if (b.casNext(this, f))
                    f.setPrev(b);
                return true;
            }
            return false;
        }
boolean delete ( ) { Node < E > b = getPrev ( ) ; Node < E > f = getNext ( ) ; if ( b != null && f != null && ! f . isMarker ( ) && casNext ( f , new Node < E > ( f ) ) ) { if ( b . casNext ( this , f ) ) f . setPrev ( b ) ; return true ; } return false ; }
Tries to mark this node as deleted, failing if already
deleted or if this node is header or trailer.

@return true if successful
Tries to mark this node as deleted failing if already deleted or if this node is header or trailer .