protected boolean removeMember(InternalDistributedMember m, boolean departed) {
    boolean removed = false;
    synchronized (members) {
      int cells = members.length;
      for (int i = 0; i < cells; i++) {
        InternalDistributedMember e = members[i];
        if (e != null && e.equals(m)) {
          members[i] = null;
          // we may be expecting more than one response from a member. so,
          // unless the member left, we only scrub the first occurrence of
          // the member id from the responder list
          if (!departed) {
            return true;
          }
          removed = true;
        }
      }
    } // synchronized
    return removed;
  }
@param m the member to be removed
@param departed true if it is removed due to membership
@return true if it was in our list of members
geode-core/src/main/java/org/apache/geode/distributed/internal/ReplyProcessor21.java