code: @Override
      public AuthenticationStatus notifyContainerAboutLogin(Principal principal, Set<String> groups) {
          try {
              this.principal = principal;
              this.groups = Collections.unmodifiableSet(groups); // Unmodifiable view to avoid corruption
  
              Callback[] callbacks = new Callback[3];
              callbacks[0] = getRealmNameCallback();
              callbacks[1] = new CallerPrincipalCallback(clientSubject, principal);
              callbacks[2] = new GroupPrincipalCallback(clientSubject, groups.toArray(new String[] {}));
              handler.handle(callbacks);
          } catch (Exception e) {
              // TODO: Determine if this needs a serviceability message
          }
          return AuthenticationStatus.SUCCESS;
      }
docs: /*
  (non-Javadoc)
  
  @see javax.security.enterprise.authentication.mechanism.http.HttpMessageContext#notifyContainerAboutLogin(java.security.Principal, java.util.Set)