private <K> List<K> registerInterestOn(final @NotNull ServerLocation sl, final @NotNull K key,
      final @NotNull InterestType interestType, final @NotNull InterestResultPolicy policy,
      final boolean isDurable,
      final boolean receiveUpdatesAsInvalidates, final @NotNull DataPolicy regionDataPolicy) {
    if (interestType == InterestType.KEY && key instanceof List) {
      return RegisterInterestListOp.executeOn(sl, pool, regionName, uncheckedCast(key), policy,
          isDurable, receiveUpdatesAsInvalidates, regionDataPolicy);
    } else {
      return RegisterInterestOp.executeOn(sl, pool, regionName, key, interestType, policy,
          isDurable, receiveUpdatesAsInvalidates, regionDataPolicy);
    }
  }
Does a region registerInterest on a server described by the given server location
<p>
Note that this call by-passes the RegisterInterestTracker.

@param sl the server to do the register interest on.
@param key describes what we are interested in
@param interestType the {@link InterestType} for this registration
@param policy the interest result policy for this registration
@param isDurable true if this registration is durable
@param receiveUpdatesAsInvalidates whether to act like notify-by-subscription is false.
@param regionDataPolicy the data policy ordinal of the region
@return list of keys
geode-core/src/main/java/org/apache/geode/cache/client/internal/ServerRegionProxy.java