code: @Override
      protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
  
          AuthorizationInfo authorizationInfo = getUncachedAuthorizationInfoFromPrincipals(principals);
  
          Cache<String, AuthorizationInfo> idAuthorizationCache = getAvailableIdAuthorizationCache();
          if (idAuthorizationCache != null) {
              // Proactively cache any ID authorization info not already in cache
              for (PrincipalWithRoles principal : getPrincipalsFromPrincipalCollection(principals)) {
                  if (idAuthorizationCache.get(principal.getId()) == null) {
                      cacheAuthorizationInfoById(principal.getId(), authorizationInfo);
                  }
              }
          }
  
          return authorizationInfo;
      }
docs: Gets the AuthorizationInfo that matches a token.  This method is only called if the info is not already
  cached by the realm, so this method does not need to perform any further caching.