code: def _execute(self, intf, mechanism, token):
          
          sm = aiosasl.SASLStateMachine(intf)
          try:
              yield from mechanism.authenticate(sm, token)
              return True
          except aiosasl.SASLFailure as err:
              if err.opaque_error in self.AUTHENTICATION_FAILURES:
                  raise aiosasl.AuthenticationFailure(
                      opaque_error=err.opaque_error,
                      text=err.text)
              elif err.opaque_error in self.MECHANISM_REJECTED_FAILURES:
                  return False
              raise
docs: Execute a SASL authentication process.
  
          :param intf: SASL interface to use
          :type intf: :class:`~.sasl.SASLXMPPInterface`
          :param mechanism: SASL mechanism to use
          :type mechanism: :class:`aiosasl.SASLMechanism`
          :param token: The opaque token argument for the mechanism
          :type token: not :data:`None`
          :raises aiosasl.AuthenticationFailure: if authentication failed due to
                                                 bad credentials
          :raises aiosasl.SASLFailure: on other SASL error conditions (such as
                                       protocol violations)
          :return: true if authentication succeeded, false if the mechanism has
                   to be disabled
          :rtype: :class:`bool`
  
          This executes the SASL authentication process. The more specific
          exceptions are generated by inspecting the
          :attr:`aiosasl.SASLFailure.opaque_error` on exceptinos raised from the
          :class:`~.sasl.SASLXMPPInterface`. Other :class:`aiosasl.SASLFailure`
          exceptions are re-raised without modification.