docs: void startSession(DirectionsRoute directionsRoute, LocationEngine locationEngineName) {
      updateLocationEngineNameAndSimulation(locationEngineName);
      navigationSessionState = navigationSessionState.toBuilder()
        .sessionIdentifier(TelemetryUtils.obtainUniversalUniqueIdentifier())
        .tripIdentifier(TelemetryUtils.obtainUniversalUniqueIdentifier())
        .originalDirectionRoute(directionsRoute)
        .originalRequestIdentifier(directionsRoute.routeOptions().requestUuid())
        .requestIdentifier(directionsRoute.routeOptions().requestUuid())
        .currentDirectionRoute(directionsRoute)
        .eventRouteDistanceCompleted(0)
        .rerouteCount(0)
        .build();
      sendRouteRetrievalEventIfExists();
      fireOffBatteryScheduler();
      gpsEventFactory.navigationStarted(navigationSessionState.sessionIdentifier());
    }