docs: protected void handleCallerPrincipalCallback(CallerPrincipalCallback callback, String realm) throws WSSecurityException {
          Subject clientSubject = callback.getSubject();
          String userName = callback.getName();
          Principal userPrincipal = callback.getPrincipal();
          if (tc.isDebugEnabled()) {
              Tr.debug(tc, "handleCallerPrincipalCallback", new Object[] { "user=" + userName, "principal=" + userPrincipal });
          }
  
          Hashtable<String, Object> credData = null;
          if (clientSubject != null) {
              credData = getSubjectCustomData(clientSubject);
              String securityName = null;
              if (userName == null && userPrincipal == null) {
                  securityName = JaspiServiceImpl.UNAUTHENTICATED_ID;
                  credData.put(AttributeNameConstants.WSCREDENTIAL_SECURITYNAME, securityName);
              } else if (userPrincipal != null) {
                  securityName = userPrincipal.getName();
                  addCommonAttributes(realm, securityName, credData);
                  credData.put("com.ibm.wsspi.security.cred.jaspi.principal", userPrincipal);
              } else {
                  securityName = userName;
                  addCommonAttributes(realm, securityName, credData);
              }
              if (tc.isDebugEnabled()) {
                  Tr.debug(tc, "Added securityName: " + securityName);
              }
          }
          if (tc.isDebugEnabled()) {
              Tr.debug(tc, "handleCallerPrincipalCallback", credData);
          }
      }