docs: public static void handleCallerPrincipalCallback(CallerPrincipalCallback callback, Subject executionSubject, Hashtable<String, Object> addedCred, String appRealm,
                                                       String unauthenticated, Invocation[] invocations) throws WSSecurityException, RemoteException {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.entry(tc, "handleCallerPrincipalCallback");
          }
          if (invocations[0] == Invocation.CALLERPRINCIPALCALLBACK) {
              String message = getNLS().getString("MULTIPLE_CALLERPRINCIPALCALLBACKS_NOT_SUPPORTED_J2CA0676",
                                                  "J2CA0676E: The inflown security context supplied multiple instances of a JASPIC CallerPrincipalCallback " +
                                                                  "in order to establish the security context of the Work instance.");
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
                  Tr.exit(tc, "handleCallerPrincipalCallback");
              }
              throw new WSSecurityException(message);
          } else {
              invocations[0] = Invocation.CALLERPRINCIPALCALLBACK;
          }
          String userName = callback.getName();
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "The userName got from the callback is : ", userName);
          }
          Principal userPrincipal = callback.getPrincipal();
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              Tr.debug(tc, "handleCallerPrincipalCallback", new Object[] { "user=" + userName, "principal=" + userPrincipal });
          Subject callSubject = callback.getSubject();
          if (!executionSubject.equals(callSubject)) {
              Tr.warning(tc, "EXECUTION_CALLBACK_SUBJECT_MISMATCH_J2CA0673", new Object[] { "CallerPrincipalCallback" });
              // callSubject = executionSubject;  // Change from twas - jms - TODO - Not used after this point, may need to look at this more.
          }
  
          String securityName = null;
          if (userName == null && userPrincipal == null) {
              securityName = unauthenticated;
          } else if (userPrincipal != null) {
              securityName = userPrincipal.getName();
          } else {
              securityName = userName;
          }
          if (securityName == null) {
              securityName = unauthenticated;
          }
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "The securityName is : ", securityName);
          }
          if (!securityName.equals(unauthenticated)) {
              addUniqueIdAndGroupsForUser(securityName, addedCred, appRealm); // 675924
          } else {
              addedCred.put(AttributeNameConstants.WSCREDENTIAL_SECURITYNAME, securityName);
              addedCred.put(AttributeNameConstants.WSCREDENTIAL_CACHE_KEY, getCacheKey(null, null));
          }
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "Added Credentials: ", addedCred);
          }
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.exit(tc, "handleCallerPrincipalCallback");
          }
      }