code: private Task<String> acquire(long deadline) {
      final String uuid = UUID.randomUUID().toString();
  
      return
          /* Step 1: create znode with a pathname of "_locknode_/guid-lock-"
           * and the sequence and ephemeral flags set. */
          safeCreateLockNode(uuid, deadline, false)
              .onFailure(e -> _zkClient.deleteNodeHasUUID(_lockPath, uuid))
              .flatMap(lockNode -> tryAcquire(lockNode, deadline)
                  .withTimeout(deadline - System.currentTimeMillis(), TimeUnit.MILLISECONDS)
                  .onFailure(e -> _zkClient.deleteNode(lockNode)));
    }
docs: Try to acquire the lock within the given deadline.