code: public void handleNewRequest(ServerRequest req) {
          // If Tracking is disabled fail all messages with ERR_BRANCH_TRACKING_DISABLED
          if (trackingController.isTrackingDisabled()) {
              req.reportTrackingDisabledError();
              return;
          }
          //If not initialised put an open or install request in front of this request(only if this needs session)
          if (initState_ != SESSION_STATE.INITIALISED && !(req instanceof ServerRequestInitSession)) {
              
              if ((req instanceof ServerRequestLogout)) {
                  req.handleFailure(BranchError.ERR_NO_SESSION, "");
                  PrefHelper.Debug("Branch is not initialized, cannot logout");
                  return;
              }
              if ((req instanceof ServerRequestRegisterClose)) {
                  PrefHelper.Debug("Branch is not initialized, cannot close session");
                  return;
              } else {
                  Activity currentActivity = null;
                  if (currentActivityReference_ != null) {
                      currentActivity = currentActivityReference_.get();
                  }
                  if (customReferrableSettings_ == CUSTOM_REFERRABLE_SETTINGS.USE_DEFAULT) {
                      initUserSessionInternal((BranchReferralInitListener) null, currentActivity, true);
                  } else {
                      boolean isReferrable = customReferrableSettings_ == CUSTOM_REFERRABLE_SETTINGS.REFERRABLE;
                      initUserSessionInternal((BranchReferralInitListener) null, currentActivity, isReferrable);
                  }
              }
          }
  
          if (!(req instanceof ServerRequestPing)) {
              requestQueue_.enqueue(req);
              req.onRequestQueued();
          }
          processNextQueueItem();
      }
docs: Handles execution of a new request other than open or install.
  Checks for the session initialisation and adds a install/Open request in front of this request
  if the request need session to execute.
  
  @param req The {@link ServerRequest} to execute