private E dequeue() {
    // assert takeLock.isHeldByCurrentThread();
    // assert head.item == null;
    Node<E> h = head;
    Node<E> first = h.next;
    h.next = h; // help GC
    head = first;
    E x = first.item;
    first.item = null;
    return x;
  }
Removes a node from head of queue.

@return the node
geode-core/src/main/java/org/apache/geode/internal/cache/ForceableLinkedBlockingQueue.java