boolean tryMatch(SNode s){
  if (match == null && UNSAFE.compareAndSwapObject(this,matchOffset,null,s)) {
    Thread w=waiter;
    if (w != null) {
      waiter=null;
      LockSupport.unpark(w);
    }
    return true;
  }
  return match == s;
}

boolean tryMatch ( SNode s ) { if ( match == null && UNSAFE . compareAndSwapObject ( this , matchOffset , null , s ) ) { Thread w = waiter ; if ( w != null ) { waiter = null ; LockSupport . unpark ( w ) ; } return true ; } return match == s ; }
tries to match node s to this node , if so , waking up thread . fulfillers call trymatch to identify their waiters . waiters block until they have been matched .
