public boolean removeId(final ProfileId memberId, boolean crashed, boolean destroyed,
      boolean fromMembershipListener) {
    boolean result;
    try {
      result = doRemoveId(memberId, crashed, destroyed, fromMembershipListener);
    } finally {
      if (logger.isTraceEnabled(LogMarker.DISTRIBUTION_ADVISOR_VERBOSE)) {
        logger.trace(LogMarker.DISTRIBUTION_ADVISOR_VERBOSE, "removeId {} exiting {}", memberId,
            toStringWithProfiles());
      }
    }
    return result;
  }
Removes the profile for the given member. This method is meant to be overridden by subclasses.

@param memberId the member whose profile should be removed
@param crashed true if the member crashed
@param fromMembershipListener true if this call is a result of MembershipEvent invocation
@return true when the profile was removed, false otherwise
geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java