<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def init_authentication_method(self, request, authn_method, http_args=None, **kwargs):
 """ Will run the proper client authentication method. Each such method will place the necessary information in the necessary place. A method may modify the request. :param request: The request, a Message class instance :param authn_method: Client authentication method :param http_args: HTTP header arguments :param kwargs: Extra keyword arguments :return: Extended set of HTTP header arguments """

        if http_args is None:
            http_args = {}

        if authn_method:
            logger.debug('Client authn method: {}'.format(authn_method))
            return self.client_authn_factory(authn_method).construct(
                request, self, http_args=http_args, **kwargs)
        else:
            return http_args