protected Set<InternalDistributedMember> adviseFilter(Predicate<Profile> f) {
    initializationGate();
    Set<InternalDistributedMember> recipients = null;
    Profile[] locProfiles = profiles; // grab current profiles
    for (Profile profile : locProfiles) {
      if (f == null || f.test(profile)) {
        if (recipients == null) {
          recipients = new HashSet<>();
        }
        recipients.add(profile.getDistributedMember());
      }
    }
    if (recipients == null) {
      return Collections.emptySet();
    }
    return recipients;
  }
Template method for sub-classes to override. Method is invoked after a profile is removed from
profiles.

@param profile the removed profile
geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java