docs: static boolean resolveWebServiceEndpointMethods(BeanMetaData bmd,
                                                      Method[] endpointMethods)
                      throws EJBConfigurationException
      {
          if (endpointMethods == null || endpointMethods.length == 0)
          {
              throw new EJBConfigurationException("Web service endpoint configurd with no methods : " + bmd.j2eeName);
          }
  
          if (bmd.wsEndpointMethodInfos == null)
          {
              throw new EJBConfigurationException("Web service endpoint is only allwed for stateless session " +
                                                  "beans, and a Web service endpoint interface must be " +
                                                  "configured in ejb-jar.xml if the module level is prior " +
                                                  "to 3.0 : " + bmd.j2eeName);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.entry(tc, "resolveWebServiceEndpointMethods : " + bmd.j2eeName);
  
          boolean hasAroundInvoke = false;
          int numMethodInfos = bmd.wsEndpointMethodInfos.length;
          int numEndpointMethods = endpointMethods.length;
          String[] endpointMethodNames = new String[numEndpointMethods];
          EJBMethodInfoImpl[] endpointMethodInfos = new EJBMethodInfoImpl[numEndpointMethods];
  
          for (int i = 0; i < numEndpointMethods; ++i)
          {
              Method method = endpointMethods[i];
              for (int j = 0; j < numMethodInfos; ++j)
              {
                  EJBMethodInfoImpl methodInfo = bmd.wsEndpointMethodInfos[j];
                  if (methodInfo.methodsMatch(method)) // d517824
                  {
                      endpointMethodInfos[i] = methodInfo;
                      endpointMethodNames[i] = method.getName();
                      if (methodInfo.ivAroundInterceptors != null) // F743-17763.1
                          hasAroundInvoke = true;
  
                      // When customer has used generics, and the methodinfos have
                      // been built from all methods on the bean, then there will be
                      // a methodinfo for both the bridge and target methods.
                      // Keep looking until there is a match with a 'bridge' method.
                      // If one is not found, then no generics and the first one found
                      // is then the correct one and will be used.              d540438
                      if (methodInfo.getBridgeMethod() != null)
                          break;
                  }
              }
              if (endpointMethodInfos[i] == null)
              {
                  // Log the error and throw meaningful exception.
                  Tr.error(tc, "WS_ENDPOINT_METHOD_MISSING_CNTR0178E",
                           new Object[] { method.getName(),
                                         bmd.j2eeName.getComponent(),
                                         bmd.j2eeName.getModule(),
                                         bmd.j2eeName.getApplication() });
                  throw new EJBConfigurationException("Configured Web service endpoint method " + method.getName() +
                                                      " is not implemented by the " + bmd.j2eeName.getComponent() +
                                                      " bean in the " + bmd.j2eeName.getModule() + " module of the " +
                                                      bmd.j2eeName.getApplication() + " application.");
              }
          }
  
          bmd.wsEndpointMethodInfos = endpointMethodInfos;
          bmd.wsEndpointMethodNames = endpointMethodNames;
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.exit(tc, "resolveWebServiceEndpointMethods : " + bmd.j2eeName +
                          " : aroundInvoke = " + hasAroundInvoke);
  
          return hasAroundInvoke;
      }