@Unpreemptible final boolean enqueue(Reference<? extends T> ref){
  lock.lockWithHandshake();
  boolean result=enqueueInternal(ref);
  lock.unlock();
  return result;
}

@ Unpreemptible final boolean enqueue ( Reference < ? extends T > ref ) { lock . lockWithHandshake ( ) ; boolean result = enqueueInternal ( ref ) ; lock . unlock ( ) ; return result ; }
this is called by reference to enqueue itself on this queue .
