docs: @Override
      public void getLeasesForPeers(final PeerLeaseTable peerLeaseTable, String recoveryGroup) throws Exception {
          if (tc.isEntryEnabled())
              Tr.entry(tc, "getLeasesForPeers", new Object[] { peerLeaseTable, recoveryGroup, this });
  
          AccessController.doPrivileged(new PrivilegedAction<Void>() {
              @Override
              public Void run() {
  
                  // We'll start by trying to lock the control file, if we can't do it this time around, then so be it, we
                  // assume that someone else is either getting peer leases or deleting peer leases.
                  FileChannel theChannel = null;
                  FileLock lock = null;
                  try {
                      theChannel = new RandomAccessFile(_controlFile, "rw").getChannel();
                  } catch (FileNotFoundException e) {
                      if (tc.isDebugEnabled())
                          Tr.debug(tc, "Caught FileNotFound exception when trying to lock control file");
                      theChannel = null;
                  }
  
                  if (theChannel != null) {
                      // Non blocking attempt to acquire the lock on the control file.
                      try {
                          lock = theChannel.tryLock();
                      } catch (IOException e) {
                          if (tc.isDebugEnabled())
                              Tr.debug(tc, "Caught IOException when trying to lock control file - " + e);
                          theChannel = null;
                      }
  
                      if (lock != null) {
  
                          File thePeerFiles[] = _leaseLogDirectory.listFiles();
                          // Now process through the peers we need to handle
                          if (thePeerFiles != null) {
                              for (File peerFile : thePeerFiles) {
                                  if (!peerFile.isDirectory()) {
                                      final String recoveryId = peerFile.getName();
                                      //Skip over the control file
                                      if (!recoveryId.equals(_controlFile.getName())) {
                                          final long leaseTime = peerFile.lastModified();
  
                                          if (tc.isEventEnabled()) {
                                              Tr.event(tc, "Lease Table: read recoveryId: " + recoveryId);
                                              Tr.event(tc, "Lease Table: read leaseTime: " + leaseTime);
                                          }
  
                                          PeerLeaseData pld = new PeerLeaseData(recoveryId, leaseTime, _leaseTimeout);
  
                                          peerLeaseTable.addPeerEntry(pld);
                                      } else {
                                          if (tc.isDebugEnabled())
                                              Tr.debug(tc, "Exclude the control file from the list");
                                      }
                                  }
                              }
                          } else {
                              if (tc.isDebugEnabled())
                                  Tr.debug(tc, "No peer servers found");
                          }
                      }
                  }
  
                  // Tidy up before we leave
                  if (lock != null) {
                      try {
                          lock.release();
                      } catch (IOException e) {
                          if (tc.isDebugEnabled())
                              Tr.debug(tc, "Caught an IOException on lock release");
                      }
                  }
                  // Close the channel
                  if (theChannel != null) {
                      try {
                          theChannel.close();
                      } catch (IOException e) {
                          if (tc.isDebugEnabled())
                              Tr.debug(tc, "Caught an IOException on channel close");
                      }
                  }
  
                  return null;
              }
          });
  
          if (tc.isEntryEnabled())
              Tr.exit(tc, "getLeasesForPeers", this);
  
      }