def delegated_login(self, login, admin_zc, duration=0):
        """Use another client to get logged in via delegated_auth mechanism by an
        already logged in admin.

        :param admin_zc: An already logged-in admin client
        :type admin_zc: ZimbraAdminClient
        :param login: the user login (or email) you want to log as
        """
        # a duration of zero is interpretted literaly by the API...
        selector = zobjects.Account(name=login).to_selector()
        delegate_args = {'account': selector}
        if duration:
            delegate_args['duration': duration]
        resp = admin_zc.request('DelegateAuth', delegate_args)

        lifetime = resp['lifetime']
        authToken = resp['authToken']

        self.login_account = login
        self.login_with_authToken(authToken, lifetime)
Use another client to get logged in via delegated_auth mechanism by an
        already logged in admin.

        :param admin_zc: An already logged-in admin client
        :type admin_zc: ZimbraAdminClient
        :param login: the user login (or email) you want to log as