docs: public static EnumMap<InterceptorMethodKind, List<Method>> getEJBInterceptorMethods
                      (Class<?> ejbClass
                       , EnterpriseBean bean
                       , LinkedList<Class<?>> lifoClasses
                       , J2EEName name)
                                      throws EJBConfigurationException
      {
          String className = ejbClass.getName();
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          {
              Tr.entry(tc, "getEJBInterceptorMethods for EJB class: " + className);
          }
  
          // Create empty EnumMap for the interceptor methods of this EJB.
          EnumMap<InterceptorMethodKind, List<Method>> methodMap;
          methodMap = new EnumMap<InterceptorMethodKind, List<Method>>(InterceptorMethodKind.class);
  
          // F743-17763 - Iterate over all interceptor kinds, and find the
          // interceptor methods defined in the deployment descriptor.
          for (InterceptorMethodKind kind : InterceptorMethodKind.values())
          {
              List<? extends InterceptorCallback> methodMetaDataList;
              if (bean.getKindValue() == EnterpriseBean.KIND_SESSION)
              {
                  methodMetaDataList = kind.getMethods((Session) bean);
              }
              else
              {
                  methodMetaDataList = kind.getMethods((MessageDriven) bean);
              }
  
              if (methodMetaDataList != null && !methodMetaDataList.isEmpty())
              {
                  populateInterceptorMethodMap(ejbClass, lifoClasses,
                                               kind, kind.isLifecycle() ? NO_PARMS : PARM_TYPES,
                                               methodMetaDataList, methodMap, true, name);
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          {
              Tr.exit(tc, "getEJBInterceptorMethods: " + methodMap);
          }
          return methodMap;
      }