@Override
  public void addMember(InternalDistributedMember member) {
    lifecycleLock.lock();
    try {
      if (!running) {
        return;
      }
      executeTask(() -> new AddMemberTask(member).call());
    } finally {
      lifecycleLock.unlock();
    }
  }
This method will delegate task to another thread and exit, so that it wont block the membership
listener
geode-core/src/main/java/org/apache/geode/management/internal/FederatingManager.java