code: public static synchronized void spawnLocalHub(AbstractTestSession testSession) {
          LOGGER.entering(testSession.getPlatform());
          if (!isRunLocally()) {
              LOGGER.exiting();
              return;
          }
  
          setupToBootList();
          for (LocalServerComponent eachItem : toBoot) {
              try {
                  eachItem.boot(testSession);
              } catch (Exception e) { //NOSONAR
                  // If either the Grid or the Node failed to start at the first attempt then there is NO point in trying
                  // to keep restarting it for every iteration. So lets log a severe message and exit the JVM.
                  LOGGER.log(Level.SEVERE, e.getMessage(), e);
                  System.exit(1);
              }
          }
          LOGGER.exiting();
      }
docs: This method is responsible for spawning a local hub for supporting local executions
  
  @param testSession
  - A {@link AbstractTestSession} that represents the type of test session to start (mobile or web).