Set<ClientProxyMembershipID> getProxyIDs(Set<?> mixedDurableAndNonDurableIDs) {
    Set<ClientProxyMembershipID> result = ConcurrentHashMap.newKeySet();
    for (Object id : mixedDurableAndNonDurableIDs) {
      if (id instanceof String) {
        CacheClientProxy clientProxy = getClientProxy((String) id, true);
        if (clientProxy != null) {
          result.add(clientProxy.getProxyID());
        }
        // else { we don't have a proxy for the given durable ID }
      } else {
        // try to canonicalize the ID.
        CacheClientProxy proxy = getClientProxy((ClientProxyMembershipID) id, true);
        if (proxy != null) {
          result.add(proxy.getProxyID());
        }
      }
    }
    return result;
  }
processes the given collection of durable and non-durable client identifiers, returning a
collection of non-durable identifiers of clients connected to this VM
geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientNotifier.java