protected void registerClientInterestList(final @NotNull String regionName,
      final @NotNull List<?> keysOfInterest,
      final boolean sendUpdatesAsInvalidates) {
    final FilterProfile p = getProfile(regionName);
    if (p == null) {
      throw new RegionDestroyedException("Region not found during client interest registration",
          regionName);
    }
    final Set<?> keysRegistered;
    synchronized (interestListLock) {
      keysRegistered = p.registerClientInterestList(id, keysOfInterest, sendUpdatesAsInvalidates);
      regions.add(regionName);
    }
    // Perform actions if any keys were registered
    if (containsInterestRegistrationListeners() && !keysRegistered.isEmpty()) {
      handleInterestEvent(regionName, keysRegistered, InterestType.KEY, true);
    }
  }
Registers interest in the input region name and list of keys

@param regionName The fully-qualified name of the region in which to register interest
@param keysOfInterest The list of keys in which to register interest
geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientInterestList.java