docs: @Override
      public boolean claimPeerLeaseForRecovery(String recoveryIdentityToRecover, String myRecoveryIdentity, LeaseInfo leaseInfo) throws Exception {
          if (tc.isEntryEnabled())
              Tr.entry(tc, "claimPeerLeaseForRecovery", new Object[] { recoveryIdentityToRecover, myRecoveryIdentity, this });
          // What we need to do is to extract the log location for peer servers and put them somewhere to be used in TxRecoveryAgentImp.initiateRecovery.
          boolean claimedLease = false;
  
          FileChannel fChannel = null;
          // At this point we are ready to acquire a lock on the lease file prior to attempting to read it.
          try {
              // If we are about to recover a peer lease file, then do a check to be sure that no other server instance
              // has "recently" recovered it.
              boolean attemptClaim = true;
              // Read the appropriate lease file (equivalent to a record in the DB table)
              final File leaseFile = new File(_serverInstallLeaseLogDir + String.valueOf(File.separatorChar) + recoveryIdentityToRecover);
  
              // Get the timestamp when the lease file was last touched.
              final long newleaseTime = AccessController.doPrivileged(new PrivilegedAction<Long>() {
                  @Override
                  public Long run() {
                      return leaseFile.lastModified();
                  }
              });
  
              if (tc.isDebugEnabled()) {
                  Tr.debug(tc, "recoveryId: " + recoveryIdentityToRecover + ", new leaseTime: " + newleaseTime);
              }
  
              PeerLeaseData pld = new PeerLeaseData(recoveryIdentityToRecover, newleaseTime, _leaseTimeout);
              if (newleaseTime == 0 || !pld.isExpired()) {
                  if (tc.isDebugEnabled())
                      Tr.debug(tc, "The lease file has not expired, or does not exist do not attempt recovery");
                  attemptClaim = false;
              }
  
              // Attempt to claim the lease file
              if (attemptClaim) {
                  if (lockPeerLease(recoveryIdentityToRecover)) {
                      if (tc.isDebugEnabled())
                          Tr.debug(tc, "Attempt to read lease file");
  
                      fChannel = _peerLeaseLock.getFileChannel();
                      if (fChannel != null) {
                          long fileSize = fChannel.size();
                          ByteBuffer buffer = ByteBuffer.allocate((int) fileSize);
                          fChannel.read(buffer);
  
                          buffer.flip();
  
                          // Read first (and only) line in file
                          String line = new String(buffer.array());
  
                          if (tc.isDebugEnabled())
                              Tr.debug(tc, "We have retrieved " + line);
  
                          // Set the string into the LeaseInfo object
                          leaseInfo.setLeaseDetail(line);
                          claimedLease = true;
                      } else {
                          if (tc.isDebugEnabled())
                              Tr.debug(tc, "Lease Lock's channel was null");
                      }
  
                  } else {
                      if (tc.isDebugEnabled())
                          Tr.debug(tc, "Failed to lock or read lease file");
                  }
              }
          } catch (IOException e) {
              // We're not expecting this to happen. Log the event
              if (tc.isDebugEnabled())
                  Tr.debug(tc, "Caught an IOException - " + e);
          }
  
          if (tc.isEntryEnabled())
              Tr.exit(tc, "claimPeerLeaseForRecovery", claimedLease);
          return claimedLease;
      }