code: func (t *TokenRenewer) renewToken() error {
  	renew := &protocol.Kite{
  		ID: t.client.Kite.ID,
  	}
  
  	token, err := t.localKite.GetToken(renew)
  	if err != nil {
  		return err
  	}
  
  	if err = t.parse(token); err != nil {
  		return err
  	}
  
  	t.client.authMu.Lock()
  	t.client.Auth.Key = token
  	t.client.authMu.Unlock()
  
  	t.client.callOnTokenRenewHandlers(token)
  
  	return nil
  }
docs: // renewToken gets a new token from a kontrolClient, parses it and sets it as the token.