docs: @Override
      public void authorizeEJB(EJBRequestData request, Subject subject) throws EJBAccessDeniedException {
          auditManager = new AuditManager();
          Object req = auditManager.getHttpServletRequest();
          Object webRequest = auditManager.getWebRequest();
          String realm = auditManager.getRealm();
          EJBMethodMetaData methodMetaData = request.getEJBMethodMetaData();
          Object[] methodArguments = request.getMethodArguments();
          String applicationName = methodMetaData.getEJBComponentMetaData().getJ2EEName().getApplication();
          String moduleName = methodMetaData.getEJBComponentMetaData().getJ2EEName().getModule();
          String methodName = methodMetaData.getMethodName();
          String methodInterface = methodMetaData.getEJBMethodInterface().specName();
          String methodSignature = methodMetaData.getMethodSignature();
          String beanName = methodMetaData.getEJBComponentMetaData().getJ2EEName().getComponent();
          List<Object> methodParameters = null;
  
          populateAuditEJBHashMap(request);
  
          Object bean = request.getBeanInstance();
          EnterpriseBean ejb = null;
          if (bean instanceof EnterpriseBean) {
              ejb = (EnterpriseBean) bean;
          }
  
          if (methodArguments != null && methodArguments.length > 0) {
              methodParameters = Arrays.asList(methodArguments);
          }
  
          boolean isAuthorized = jaccServiceRef.getService().isAuthorized(applicationName, moduleName, beanName, methodName, methodInterface, methodSignature, methodParameters, ejb,
                                                                          subject);
          String authzUserName = subject.getPrincipals(WSPrincipal.class).iterator().next().getName();
  
          if (!isAuthorized) {
              Tr.audit(tc, "EJB_JACC_AUTHZ_FAILED", authzUserName, methodName, applicationName);
              AuditAuthenticationResult auditAuthResult = new AuditAuthenticationResult(AuditAuthResult.FAILURE, authzUserName, AuditEvent.CRED_TYPE_BASIC, null, AuditEvent.OUTCOME_FAILURE);
              Audit.audit(Audit.EventID.SECURITY_AUTHZ_03, auditAuthResult, ejbAuditHashMap, req, webRequest, realm, subject, Integer.valueOf("403"));
  
              throw new EJBAccessDeniedException(TraceNLS.getFormattedMessage(this.getClass(),
                                                                              TraceConstants.MESSAGE_BUNDLE,
                                                                              "EJB_JACC_AUTHZ_FAILED",
                                                                              new Object[] { authzUserName, methodName, applicationName },
                                                                              "CWWKS9406A: Authorization by the JACC provider failed. The user is not granted access to any of the required roles."));
          } else {
              AuditAuthenticationResult auditAuthResult = new AuditAuthenticationResult(AuditAuthResult.SUCCESS, authzUserName, AuditEvent.CRED_TYPE_BASIC, null, AuditEvent.OUTCOME_SUCCESS);
              Audit.audit(Audit.EventID.SECURITY_AUTHZ_03, auditAuthResult, ejbAuditHashMap, req, webRequest, realm, subject, Integer.valueOf("200"));
          }
  
      }