protected void handleDistributionAdvisee(DistributionAdvisee advisee, boolean removeProfile,
        boolean exchangeProfiles, final List<Profile> replyProfiles) {
      final DistributionAdvisor da;
      if (advisee != null && (da = advisee.getDistributionAdvisor()) != null) {
        if (removeProfile) {
          da.removeProfile(this);
        } else {
          da.putProfile(this);
        }
        if (exchangeProfiles) {
          // assume non-null replyProfiles when exchangeProfiles is true
          replyProfiles.add(advisee.getProfile());
        }
      }
    }
Attempts to process this message with the specified {@link DistributionAdvisee}. Also if
exchange profiles then add the profile from {@link DistributionAdvisee} to reply.

@param advisee the CacheDistributionAdvisee to apply this profile to
@param removeProfile true to remove profile else add profile
@param exchangeProfiles true to add the profile to reply
geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java