protected void handleOrDeferSurpriseConnect(ID member) {
    if (!processingEvents) {
      synchronized (startupLock) {
        if (!startupMessagesDrained) {
          startupMessages.add(new StartupEvent<>(member));
          return;
        }
      }
    }
    processSurpriseConnect(member);
  }
Process a surprise connect event, or place it on the startup queue.

@param member the member
geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembership.java