if (node.casState(State.LINKED, State.UNLINKING)) {
node.getNext().setPrev(head);
node.setState(State.UNLINKED);
return node;
}
State state = node.getState();
if (state == State.SENTINEL) {
return null;
}
continue; // retry CAS as the node is being linked by offer
}