docs: def _commit(self, config_text=None, force=False, reload_original_config=True):
          """
          This method is the same as the :py:method:`commit`: method, however, it has an extra command that will trigger
          the reload of the running config. The reason behind this is that in some circumstances you don´ want
          to reload the running config, for example, when doing a rollback.
  
          See :py:method:`commit`: for more details.
          """
          def _execute(config_text):
              if config_text is None:
                  config_text = self.compare_config()
  
              config_vdom = ""
  
              if self.vdom is None:
                  pre = ''
              elif not 'global' in self.vdom:
                  config_vdom = 'conf vdom\n  edit %s\n' % self.vdom
                  pre = 'conf global\n    '
              else:
                  pre = 'conf global\n    '
  
              cmd = '%sexecute batch start\n' % pre
              cmd += config_vdom
              cmd += config_text
              cmd += '\nexecute batch end\n'
  
              self.execute_command(cmd)
              last_log = self.execute_command('%sexecute batch lastlog' % pre)
  
              return self._parse_batch_lastlog(last_log)
  
          logger.info('Committing config ')
  
          wrong_commands = _execute(config_text)
  
          self._reload_config(reload_original_config)
  
          retry_codes = [-3, -23]
          retries = 5
          while retries > 0:
              retries -= 1
              for wc in wrong_commands:
                  if int(wc[0]) in retry_codes:
                      if config_text is None:
                          config_text = self.compare_config()
                      wrong_commands = _execute(config_text)
                      self._reload_config(reload_original_config=False)
                      break
  
          if len(wrong_commands) > 0:
              exit_code = -2
              logging.debug('List of commands that failed: %s' % wrong_commands)
  
              if not force:
                  exit_code = -1
                  self.rollback()
  
              if exit_code < 0:
                  raise exceptions.FailedCommit(wrong_commands)