@Override
 public synchronized void teardown() throws RobotCoreException {
   // Do our shutdown first so that the system 'teardown' log messages are
   // really at the end.
   this.swerveOpModeManager.onRobotShutdown();
   super.teardown();
 }
 @Override
 public void loop() throws RobotCoreException
       // Hook this so that we will have thread context set whenever we're running user
       // code on the loop() thread
     {
   SwerveThreadContext context = SwerveThreadContext.createIfNecessary();
   context.swerveFtcEventLoop = this;
   setEventLoopManager();
   //
   super.loop();
 }