public static void recoverRmtElder(ArrayList<String> grantors, ArrayList<Long> grantorVersions,
      ArrayList<Integer> grantorSerialNumbers, ArrayList<String> nonGrantors) {
    synchronized (services) {
      for (final Map.Entry<String, DLockService> entry : services.entrySet()) {
        String serviceName = entry.getKey();
        DLockService service = entry.getValue();
        boolean foundGrantor = false;
        DLockGrantor grantor = service.getGrantor();
        if (grantor != null && grantor.getVersionId() != -1 && !grantor.isDestroyed()) {
          foundGrantor = true;
          grantors.add(serviceName);
          grantorVersions.add(grantor.getVersionId());
          grantorSerialNumbers.add(service.getSerialNumber());
        }
        if (!foundGrantor) {
          nonGrantors.add(serviceName);
        }
      }
    }
  }
Fills lists of service names.

@param grantors filled with service names of all services we are currently the grantor of.
@param grantorVersions elder assigned grantor version ids
@param grantorSerialNumbers member specific DLS serial number hosting grantor
@param nonGrantors filled with service names of all services we have that we are not the
       grantor of.
geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockService.java