docs: public Subject authenticateUser(AuthenticationService authenticationService, String userName,
                                      String jaasEntryName, String customCacheKey) throws AuthenticationException
      {
          validateInput(authenticationService, userName);
          if (jaasEntryName == null || jaasEntryName.trim().isEmpty())
              jaasEntryName = JaasLoginConfigConstants.SYSTEM_DEFAULT;
  
          Subject partialSubject = createPartialSubject(userName, authenticationService, customCacheKey);
          return authenticationService.authenticate(jaasEntryName, partialSubject);
      }