code: @Override
      public Principal getUserPrincipal() {
          if (System.getSecurityManager() == null) {
              return collabUtils.getCallerPrincipal(false, null, true, isJaspiEnabled);
          } else {
              return AccessController.doPrivileged(new PrivilegedAction<Principal>() {
  
                  @Override
                  public Principal run() {
                      return collabUtils.getCallerPrincipal(false, null, true, isJaspiEnabled);
                  }
              });
          }
      }
docs: public java.security.Principal getUserPrincipal()
  Returns a java.security.Principal object containing the name of the current authenticated user. If the user has not been authenticated, the method returns null.
  Returns:
  a java.security.Principal containing the name of the user making this request; null if the user has not been authenticated{@inheritDoc}
  
  Look at the Subject on the thread only.
  We will extract, from the set of Principals, our WSPrincipal type.