public void remove(){
  for (; ; ) {
    if (isUnlinked()) {
      continue;
    }
    lock.lock();
    try {
      if (isUnlinked()) {
        continue;
      }
      prev.next=next;
      next.prev=prev;
      next=UNLINKED;
    }
  finally {
      lock.unlock();
    }
    return;
  }
}

public void remove ( ) { for ( ; ; ) { if ( isUnlinked ( ) ) { continue ; } lock . lock ( ) ; try { if ( isUnlinked ( ) ) { continue ; } prev . next = next ; next . prev = prev ; next = UNLINKED ; } finally { lock . unlock ( ) ; } return ; } }
removes the node from the list . < p > if the node has not yet been appended to the tail it will wait for that operation to complete .
