code: public final boolean tryLockForUpgrade(L locker, long timeout, TimeUnit unit)
          throws InterruptedException
      {
          return tryLockForUpgrade_(locker, timeout, unit) != Result.FAILED;
      }
docs: Attempt to acquire an upgrade lock, waiting a maximum amount of time.
  
  @param locker object trying to become lock owner
  @return true if acquired