if(!synchronizer.tryAcquireSharedNanos(waitingState, TimeUnit.MILLISECONDS.toNanos(timeout))){
if (!synchronizer.tryAcquireSharedNanos(startSeq, timeout)) { return null;
if(!synchronizer.tryAcquireSharedNanos(waitingState, TimeUnit.MILLISECONDS.toNanos(timeout))){
if (!synchronizer.tryAcquireSharedNanos(startSeq, timeout)) { return null;