docs: def execute(self):
          """
          Execute the actions necessary to perform a `molecule idempotence` and
          returns None.
  
          :return: None
          """
          self.print_info()
          if not self._config.state.converged:
              msg = 'Instances not converged.  Please converge instances first.'
              util.sysexit_with_message(msg)
  
          output = self._config.provisioner.converge(out=None, err=None)
  
          idempotent = self._is_idempotent(output)
          if idempotent:
              msg = 'Idempotence completed successfully.'
              LOG.success(msg)
          else:
              msg = ('Idempotence test failed because of the following tasks:\n'
                     u'{}').format('\n'.join(self._non_idempotent_tasks(output)))
              util.sysexit_with_message(msg)