docs: protected void callLifecycleInterceptors(InterceptorProxy[] proxies, int methodId)
      {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          try
          {
              if (isTraceOn) // d527372
              {
                  if (TEBeanLifeCycleInfo.isTraceEnabled())
                      TEBeanLifeCycleInfo.traceEJBCallEntry(LifecycleInterceptorWrapper.TRACE_NAMES[methodId]);
  
                  if (tc.isDebugEnabled())
                      Tr.debug(tc, "callLifecycleInterceptors");
              }
              InvocationContextImpl<?> inv = getInvocationContext();
              BeanMetaData bmd = home.beanMetaData; //d450431
              inv.doLifeCycle(proxies, bmd._moduleMetaData); //d450431, F743-14982
          } catch (Throwable t)
          {
              // FFDCFilter.processException( t, CLASS_NAME + ".SessionBeanO", "251", this );
  
              // Lifecycle interceptors are allowed to throw system runtime exceptions,
              // but NOT application exceptions. Therefore, wrap the caught Throwable
              // in a javax.ejb.EJBException and throw it so that it gets handled as
              // an unchecked exception.
              if (isTraceOn && tc.isDebugEnabled())
              {
                  Tr.debug(tc, "SessionBean PostConstruct failure", t);
              }
              throw ExceptionUtil.EJBException("session bean lifecycle interceptor failure", t);
          } finally
          {
              if (isTraceOn && // d527372
                  TEBeanLifeCycleInfo.isTraceEnabled())
              {
                  TEBeanLifeCycleInfo.traceEJBCallExit(LifecycleInterceptorWrapper.TRACE_NAMES[methodId]);
              }
          }
      }