docs: private ArrayList<String> addMethodLevelInterceptors(Method method, EJBInterceptorBinding methodBinding)
                      throws EJBConfigurationException
      {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isEntryEnabled())
          {
              Tr.entry(tc, "addMethodLevelInterceptors method: " + method.getName());
          }
  
          // List of method-level interceptor names to return to the caller.
          ArrayList<String> interceptorNames = new ArrayList<String>();
  
          if (!ivMetadataComplete)
          {
              // Process annotation first since the interceptor classes from
              // annotation are the first ones that need to be called.
              Interceptors methodLevelInterceptors = method.getAnnotation(Interceptors.class);
              String methodName = method.getName();
              if (methodLevelInterceptors != null)
              {
                  if (isTraceOn && tc.isDebugEnabled())
                  {
                      Tr.debug(tc, "processing @Interceptor annotation for method: " + methodName
                                   + ", EJB name: " + ivEjbName);
                  }
  
                  // Get list of interceptor names and classes.
                  List<String> names = addLoadedInterceptorClasses(methodLevelInterceptors.value()); // d630717
  
                  // Add to the interceptor names list to be returned to the caller.
                  interceptorNames.addAll(names);
              }
          }
  
          // Now augment this list by processing the class level InterceptorBinding from
          // WCCM for this method of the EJB (if one exists).
          if (methodBinding != null)
          {
              if (isTraceOn && tc.isDebugEnabled())
              {
                  Tr.debug(tc, "processing interceptor binding for method: " + method);
              }
  
              List<String> names = methodBinding.ivInterceptorClassNames; // d453477
              updateNamesToClassMap(names); // d630717
  
              // Add to the interceptor names list to be returned to the caller.
              interceptorNames.addAll(names);
          }
  
          if (isTraceOn && tc.isEntryEnabled())
          {
              Tr.exit(tc, "addMethodLevelInterceptors: " + interceptorNames);
          }
  
          // Return list of method-level interceptor names for this business method.
          return interceptorNames;
      }