code: private Object checkUserAgent(RequestResponseClass clazz, ApiUser userAgent) {
          if(clazz.getUserClass().isAssignableFrom(userAgent.getClass()))
              return userAgent;
          return UserAgentUtil.getGameUser(userAgent, clazz.getUserClass());
      }
docs: For each listener, we may use a class of user agent, so we need check it
  
  @param clazz structure of listener class
  @param userAgent user agent object
  @return instance of user agent