          """
          logger.debug("Performing snapshot. Iterations: %s", self._plugin.iterations)
          self._backup.snapshot_models(self._plugin.iterations - 1)
          logger.debug("Performed snapshot")
  
  
  class Weights():
 
</s> remove     def save(self, is_exit: bool = False) -> None:
 </s> add     def save(self, is_exit: bool = False, force_save_optimizer: bool = False) -> None: </s> remove         msg = "[Saved models]"
 </s> add         msg = "[Saved optimizer state for Snapshot]" if force_save_optimizer else "[Saved models]" </s> remove         include_optimizer = self._save_optimizer == "always" or (self._save_optimizer == "exit"
                                                                 and is_exit)
 </s> add         include_optimizer = (force_save_optimizer or
                             self._save_optimizer == "always" or
                             (self._save_optimizer == "exit" and is_exit))
 </s> remove             ``True`` if the save request has come from an exit process request otherwise ``False``
 </s> add             ``True`` if the save request has come from an exit process request otherwise ``False``.
        self.save(force_save_optimizer=True)
          """
          logger.debug("Performing snapshot. Iterations: %s", self._plugin.iterations)
        self.save(force_save_optimizer=True)
          self._backup.snapshot_models(self._plugin.iterations - 1)
          logger.debug("Performed snapshot")
  
  
  class Weights():
keep add keep keep keep keep keep
 Force saving optimizer weights on snapshot 
plugins/train/model/_base/io.py