docs: public void handleJoinRequest(JoinRequest joinRequest, Connection connection) {
          if (!ensureNodeIsReady()) {
              return;
          }
          if (!ensureValidConfiguration(joinRequest)) {
              return;
          }
  
          Address target = joinRequest.getAddress();
          boolean isRequestFromCurrentMaster = target.equals(clusterService.getMasterAddress());
          // if the join request from current master, do not send a master answer,
          // because master can somehow dropped its connection and wants to join back
          if (!clusterService.isMaster() && !isRequestFromCurrentMaster) {
              sendMasterAnswer(target);
              return;
          }
  
          if (joinInProgress) {
              if (logger.isFineEnabled()) {
                  logger.fine(format("Join or membership claim is in progress, cannot handle join request from %s at the moment",
                          target));
              }
              return;
          }
  
          executeJoinRequest(joinRequest, connection);
      }