public void abort(InternalDistributedMember memberId) {
      // abort if current join matches id...
      if (memberId.equals(agent.currentJoin)) {
        agent.abortCurrentJoin = true;
        interrupt();
      }
      // cancel handling of current event if it matches id...
      if (memberId.equals(id)) {
        id = null;
      }
    }
Processes pending membership joins in a dedicated thread. If we processed the joins in the same
thread as the membership handler, then we run the risk of getting deadlocks and such.
geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteGfManagerAgent.java